Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
[TEMA] Identificarea numerelor consecutive dintr-un sir si determinarea maximului lor.
Ultima postare: oct 15 2014 18:35, Inițiat de
skywallkee
, sep 30 2014 16:50
·
0
#1
Publicat: 30 septembrie 2014 - 16:50
Buna ziua, tocmai ce am intrat in clasa a IX-a si am intalnit o problema (data de profesoara pentru cei ce vor sa mearga la olimpiada).
As dori sa stiu cum ar fi solutia (verbala, pseudocod) al acestei probleme. Se dau numerele: v1, v2, v3, ... , vn aleatorii, unde "n" este nedefinit. Sa se determine maximul a cel putin doua numere consecutive din sir. Ca sa explic mai bine cerinta: Se dau numerele: -100 , 60 , 1 , 2 , 3 , 61 , 67 , 62. Programul trebuie sa imi identifice cele mai mari numere consecutive si suma lor. In exemplul dat numerele sunt: 60,61,62 cu suma: 183. Putin ajutor? Cum as putea afla numerele consecutive dintr-un sir complet aleatoriu? |
#2
Publicat: 30 septembrie 2014 - 18:03
Faci o lista cu secvente consecutive - inceput si sfarsit. Initial e goala.
Parcuri lista de numere, la fiecare te uiti daca e in inceputul sau sfarsitul unei secvente deja incepute. Daca numerele initiale nu sunt garantat distincte, te uiti si daca e in mijlocul unei secvente - in care caz ignori numarul. Daca e la inceput/sfarsit, actualizezi corespunzator secventa. Daca nu e in nici o secventa, creezi o secventa noua care are doar numarul respective. La sfarsit vei avea o lista cu toate secventele consecutive, si de acolo e simplu de aflat care e cea mai lunga sau cea cu suma cea mai mare. |
#4
Publicat: 30 septembrie 2014 - 18:31
Raspunde la fiecare dintre aceste intrebari, apoi mai vedem. |
#5
Publicat: 30 septembrie 2014 - 20:27
_bcristian_, momentan abia ce am dat de informatica. Am spus ca sunt in a IX-a.
Sa mai explic o data. Se da un sir v1, v2, v3, ... , vn (la acestea ii da utilizatorul programului valori, nestiute de mine, pot fi oricare si oricate). Fara a sti numerele din sir, trebuie sa se afle maximul celui mai mare (ca suma) sir de numere consecutive. Efectiv trebuie sa gaseasca cel mai mare ca valoare subsir de numere consecutive. |
#6
Publicat: 30 septembrie 2014 - 20:51
skywallkee, on 30 septembrie 2014 - 20:27, said:
_bcristian_, momentan abia ce am dat de informatica. Am spus ca sunt in a IX-a. Sa mai explic o data. Se da un sir v1, v2, v3, ... , vn (la acestea ii da utilizatorul programului valori, nestiute de mine, pot fi oricare si oricate). Fara a sti numerele din sir, trebuie sa se afle maximul celui mai mare (ca suma) sir de numere consecutive. Efectiv trebuie sa gaseasca cel mai mare ca valoare subsir de numere consecutive. Scrie pentru inceput algoritmul care sorteaza numerele pe masura ce le citeste, unul cate unul. Imagineaza-ti ca joci razboi si ca numerele sunt cartile pe care le primesti, una cate una. Ca sa iti fie usor in timpul jocului, vei sorta cartile inca de cand se impart cartile. Ti se da o carte, o iei in mana. Ti se da a doua carte, ce faci cu ea? Ti se da a treia carte, cu ea ce faci? Incearca sa descrii cat mai exact ceea ce faci, cu cuvintele tale. |
#7
Publicat: 30 septembrie 2014 - 21:51
Eu m-am gandit cumva cu teorema lui gauss.
Fac ceva de genul: Sa citeasca numerele Daca x (un numar) = y - 1 (sa respecte consecutivitatea) atunci max <- x + y ? Iar daca a (alt numar) > x and a > y and a = b - 1 atunci max <- a + b Si tot asa?.. Ce ma nedumereste, este cum pot afla daca sunt consecutive, cum se pot citi pe rand fiecare numar si cum pot citi un "n" numar de numere prin pseudocod. Editat de skywallkee, 30 septembrie 2014 - 21:52. |
#9
Publicat: 01 octombrie 2014 - 05:17
skywallkee, on 30 septembrie 2014 - 21:51, said:
Eu m-am gandit cumva cu teorema lui gauss. Fac ceva de genul: Sa citeasca numerele Daca x (un numar) = y - 1 (sa respecte consecutivitatea) atunci max <- x + y ? Iar daca a (alt numar) > x and a > y and a = b - 1 atunci max <- a + b Si tot asa?.. Ce ma nedumereste, este cum pot afla daca sunt consecutive, cum se pot citi pe rand fiecare numar si cum pot citi un "n" numar de numere prin pseudocod. Esti neajutabil. Sa fii sanatos. |
#10
Publicat: 02 octombrie 2014 - 20:41
skywallkee, on 30 septembrie 2014 - 20:27, said:
Sa mai explic o data. Se da un sir v1, v2, v3, ... , vn (la acestea ii da utilizatorul programului valori, nestiute de mine, pot fi oricare si oricate). Editat de cumva, 02 octombrie 2014 - 20:42. |
|
#11
Publicat: 12 octombrie 2014 - 14:08
Poate e cam tarziu...E bine asa ? (nu ma pricep foarte bine,deci daca e gresit nu ma injurati)
#include<stdio.h> int maxConsecutive(int*,int); int main() { int n,v,i; int *a; printf("\nNr de valori:"); scanf("%d",&n); a=(int*)malloc(n*sizeof(int)); for(i=0;i<n;i++) { printf("Nr %d :",i); scanf("%d",a+i); } v=maxConsecutive(a,n); printf("\n\n\nSuma maxima de numere consecutive:%d",v); free(a); printf("\n\n\n"); system("PAUSE"); return 0; } int maxConsecutive(int *a,int n ) { int max=0,s=0,i,count=0; for(i=0;i<n-1;i++) { if(count==0) s=a[i]; if((a[i]+1)==a[i+1]) { s=s+a[i+1]; count++; } else { count=0; } if(s>max) max=s; } return max; } |
#12
Publicat: 12 octombrie 2014 - 20:09
Pai, si eu sunt incepator, dar sa incepem...
1. Din cate stiu eu, nu e nevoie de cast pentru malloc (nu ai inclus stdlib.h , malloc face parte din ea) 2. scanf("%d", a+i); ar trebui sa fie scanf("%d", a + i * sizeof(int)); 3. Codul asta imi da dureri de cap... indentat prost, spatire proasta... pune si tu la variabilele alea nume mai specifice... Nu a,b,c,d,e,f.... In programe mai mari o sa ramai fara litere 4. Intrebi daca e bine?? Pai ai testat, merge?? Ca la mine nu... La sirul 1 2 3 4 67 45 2 3 4 56 , returneaza 67 5. Nu am idee ce ai facut in functia aia maxConsecutive. poate inteleg dupa ce "halesc" ceva. |
Anunturi
▶ Utilizatori activi: 1
0 membri, 1 vizitatori, 0 utilizatori anonimi