Chirurgia endoscopică a hipofizei
"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală. Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale. www.neurohope.ro |
Intersectia a doua intervale c++
Last Updated: Dec 09 2017 12:15, Started by
CasCas05
, Dec 08 2017 20:45
·
0
#19
Posted 08 December 2017 - 22:18
#20
Posted 08 December 2017 - 23:10
Am implementat asta:
/* * Created by SharpDevelop. * User: Mihai * Date: 12/8/2017 * Time: 10:24 PM * * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; namespace IntersectieIntervale { class Program { public static void Main(string[] args) { int[] intervale = new int[4]; int NumarDeIntervale = intervale.Length/2; // intervalul 1: intervale[0] = 1; intervale[1] = 5; // intervalul 2: intervale[2] = 5; intervale[3] = 40; // pentru fiecare interval: for (int i=0;i<NumarDeIntervale;i++) { int start = intervale[i*2+0]; int sfarsit = intervale[i*2+1]; for (int j=0;j<NumarDeIntervale;j++) { if (i==j) continue; // ca sa nu verificam intervalul cu el insusi int start_nou = intervale[j*2+0]; int sfarsit_nou = intervale[j*2+1]; if (start_nou>=start&&start_nou<=sfarsit) { int IndexMargine = 0; // start_nou int NumarInterval1 = i+1; int NumarInterval2 = j+1; int IntersectieIn = start_nou; } if (sfarsit_nou>=start&&sfarsit_nou<=sfarsit) { int IndexMargine = 1; // sfarsit_nou int NumarInterval1 = i+1; int NumarInterval2 = j+1; int IntersectieIn = start; } } } } } }Nu verifica de duplicate! |
#22
Posted 09 December 2017 - 10:01
Un program foarte simplu ar fi asta dar se putea face si cu vectori:
#include <iostream> using namespace std; int main() { int minn,maxx=0,n,i,a,b,aux,j; cin >> n; for(i=1;i<=n;i++) { cin >> a; cin >> b; if(a> { aux=a; a=b; b=aux; } if(a>maxx) maxx=a; if(b<minn) minn=b; } cout << maxx << " " << minn; return 0; } Oricum fata de cel al lui IvanMihai este mult mai simplu. |
#23
Posted 09 December 2017 - 10:16
Scrie si ceva cod de test. Bagi vreo 10 intervale direct in cod (nu citite cu cin) alaturi de ce te astepti sa rezulte la intersectia lor, si compari ce te astepti sa rezulte cu ce rezulta apeland codul tau.
|
#24
Posted 09 December 2017 - 10:19
#25
Posted 09 December 2017 - 10:19
OriginalCopy, on 08 decembrie 2017 - 21:45, said:
Liniile 1-4 definesc acele n intervale de numere (pe care tu vrei sa le citesti de la tastatura), linia 6: incepe algoritmul cu intervalul de la minus infinit la infinit ca intersectie liniile 10-14: itereaza fiecare interval din intervals, si pentru fiecare interval, fa acele copieri de date daca se intrunesc acele conditii PS: = e o copiere de date Pentru intiator: pe baza segmentelor puse de dany , se observa cu usurinta urmatorul pattern: 2,5,10,15 Adica daca punem intr-un vector v, capetele de intervale (asa cum sunt introduse) si testam ca acest vector este sortat crescator, atunci intotdeauna intersectia celor doua intervale va fi intre v[1] si v[2] ( adica intre 5 si 10, in cazul de mai sus) Daca testarea vectorului esueaza (adica captele intervalelor nu formeaza un vector sortat crescator) intunci nu ai intersectie. PS: considera vectorul de mai sus dat ca rezultaltul "lipirii" intervalellor date: (a,(c,d) => a,b,c,d si apoi aplica ideea de mai sus bafta Edited by navistar_eagle, 09 December 2017 - 10:39. |
#26
Posted 09 December 2017 - 11:56
CasCas05, on 09 decembrie 2017 - 10:01, said:
Un program foarte simplu ar fi asta dar se putea face si cu vectori: #include <iostream> using namespace std; int main() { int minn,maxx=0,n,i,a,b,aux,j; cin >> n; for(i=1;i<=n;i++) { cin >> a; cin >> b; if(a> { aux=a; a=b; b=aux; } if(a>maxx) maxx=a; if(b<minn) minn=b; } cout << maxx << " " << minn; return 0; } Oricum fata de cel al lui IvanMihai este mult mai simplu. Pai cred ca nu am inteles ce vrei tu sa faci... Codul meu calculeaza unde se intersecteaza doua intervale. Codul tau calculeaza limita inferioara si limita superioara din toate intervalele - calculeaza minimul si maximul. Utilizeaza struct pentru a Interval ceva de genul: class Program { public struct Interval { public int start; public int sfarsit; } public static void Main(string[] args) { Console.WriteLine("Introdu numarul de intervale:"); // Prompt int NrDeIntervale = Convert.ToInt32(Console.ReadLine()); // Get string from Interval[] intervale = new Interval[NrDeIntervale]; for (int i=0;i<NrDeIntervale;i++) { Console.WriteLine("Introdu startul intervalului:"); // Prompt intervale[i].start = Convert.ToInt32(Console.ReadLine()); // Get string from Console.WriteLine("Introdu sfarsitul intervalului:"); // Prompt intervale[i].sfarsit = Convert.ToInt32(Console.ReadLine()); // Get string from } } |
#27
Posted 09 December 2017 - 12:15
IvanMihai, on 09 decembrie 2017 - 11:56, said: Pai cred ca nu am inteles ce vrei tu sa faci... Codul meu calculeaza unde se intersecteaza doua intervale. Codul tau calculeaza limita inferioara si limita superioara din toate intervalele - calculeaza minimul si maximul. Utilizeaza struct pentru a Interval ceva de genul: class Program { public struct Interval { public int start; public int sfarsit; } public static void Main(string[] args) { Console.WriteLine("Introdu numarul de intervale:"); // Prompt int NrDeIntervale = Convert.ToInt32(Console.ReadLine()); // Get string from Interval[] intervale = new Interval[NrDeIntervale]; for (int i=0;i<NrDeIntervale;i++) { Console.WriteLine("Introdu startul intervalului:"); // Prompt intervale[i].start = Convert.ToInt32(Console.ReadLine()); // Get string from Console.WriteLine("Introdu sfarsitul intervalului:"); // Prompt intervale[i].sfarsit = Convert.ToInt32(Console.ReadLine()); // Get string from } } |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users