Chirurgia spinală minim invazivă
Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical. Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale. www.neurohope.ro |
Declarare sir.
Last Updated: Mar 23 2022 11:04, Started by
Irbaa
, Mar 15 2022 18:13
·
0
#1
Posted 15 March 2022 - 18:13
Se dau 4 numere intregi care se citesc de la tastatura. Iar sirul care se formeaza trebuie declarat ca fiind "Crescator" , " Descrescator" sau "Aleatoriu", dupa caz.
Eu m-am gandit sa o fac asa : #include <iostream> using namespace std; int main() { int a , b , c , d; cin >> a >> b >> c >> d; if ( a >= b && a >= c && a >= d) { if ( b >= c && b >= d ) { if ( c >= d) { cout << "Descrescator"; } else { cout << "Aleatoriu"; } } else { cout << "Aleatoriu"; } } if ( d >= a && d >= b && d >= c) { if ( c >= b && c >= a ) { if ( b >= a ) { cout << "Crescator"; } else { cout << "Aleatoriu"; } } else { cout << "Aleatoriu"; } } return 0 ; } Dar evident, nu e bine in totalitate! Conditiile de rezolvare ale acestei probleme e doar cu if si else. Daca cineva stie o metoda mai practica si mai simpla,as fii recunoscator pentru eventualul ajutor acordat. |
#2
Posted 15 March 2022 - 20:13
Pentru cazul general (oricate elemente), poti compara primele doua elemente.
Daca ele sunt crescatoare, verifica ca elementele urmatoare sa fie crescatoare, caz in care afisezi "Crescator", altfel "Aleatoriu". Similar, daca primele doua sunt descrescatoare, verifica ca elementele urmatoare sa fie tot descrescatoare, caz in care afisezi "Descrescator", altfel "Aleatoriu". Edited by sftpdt, 15 March 2022 - 20:17. |
#3
Posted 15 March 2022 - 20:16
De ce verifici primul element din sir cu fiecare din celelalte, respectiv ultimul element din sir cu fiecare din celelalte?
Pentru ca un sir sa fie descrescator nu ar trebui ca a>=b && b>=c &&c>=d? Analog, pentru un sir crescator ar trebui ca a<=b && b<=c && c<=d, nu? Si daca nici una din conditiile de mai sus nu e indeplinita, sirul e aleatoriu. |
#4
Posted 15 March 2022 - 20:36
Limita de 4 numere poate fi modificata / scoasa.
#include <iostream> using namespace std; int main() { const int n = 4; int v[n] = {0}; bool crescator = true, descrescator = true; for (int i = 0; i < n; ++i) cin >> v[i]; for (int i = 0; i < n - 1; ++i) { crescator = v[i] < v[i + 1] && crescator; descrescator = v[i] > v[i + 1] && descrescator; if (!crescator && !descrescator) { cout << "Aleatoriu"; break; } } if (crescator) cout << "Crescator"; else if (descrescator) cout << "Descrescator"; return 0; } Edited by red46, 15 March 2022 - 20:46. |
#5
Posted 15 March 2022 - 21:23
LuvRaluK , asa este! Sunt un prost! In disperarea mea de a nu gresi am omis cea mai simpla si eficienta metoda! Iti multumesc!
|
#6
Posted 15 March 2022 - 22:54
LuvRaluK, on 15 martie 2022 - 20:16, said:
Pentru ca un sir sa fie descrescator nu ar trebui ca a>=b && b>=c &&c>=d? Analog, pentru un sir crescator ar trebui ca a<=b && b<=c && c<=d, nu? Si daca nici una din conditiile de mai sus nu e indeplinita, sirul e aleatoriu. si daca toate sunt indeplinite? e posibil ca a == b == c == d cred ca trebuie ca macar una din relatii sa fie stricta (> respectiv <, in loc de >= respectiv <=) |
#7
Posted 16 March 2022 - 07:32
Poi nici asa nu merge , ca asa nu ai acoperii toate combinatiile de termeni fiindca nu specifica ca toti sa fie distincti . Poti avea 1 1 2 3 sau 2 2 3 4 sau 1 3 3 5 , care toate sirurile sunt crescatoare. Am incercat sa adaug o conditie cum ca atunci cand toate sunt egale sa-mi dea "Aleatoriu" ( fiindca am uitat sa specific, in problema imi spune ca in cazul in care toate sunt egale se considera sir "Aleatoriu")
da degeaba, ca-mi da eroare de compilare . Mai exat imi da asta " prog.cpp: In function 'int main()': prog.cpp:6:12: warning: suggest parentheses around comparison in operand of '==' [-Wparentheses] if ( a == b == c == d) {" Iar programul meu arata cam asa : #include <iostream> using namespace std; int main() { int a, b , c , d ; cin >> a >> b >> c >> d; if ( a == b == c == d) { cout << "Aleatoriu"; } else if ( a >= b && b >= c && c >= d ) { cout << "Descrescator"; } else if ( a <= b && b <= c && c <= d) { cout << "Crescator"; } else { cout << "Aleatoriu"; } return 0; } |
#8
Posted 16 March 2022 - 08:08
#10
Posted 16 March 2022 - 13:54
Pai tu folosesti doar if-uri, nu si while.
Daca utilizatorul vrea sa introduca un sir cu n elemente, ce faci? |
|
#11
Posted 16 March 2022 - 14:36
Asta-i genul de probrlema ce se da cand abia ai invatat ce e o variabila sau if.
Siruri cu n elemente mai tarziu... |
#13
Posted 16 March 2022 - 17:28
Scuza-ma red, am vrut sa zic doar if si else ....
MarianG , nu stiu ce este acela tabel de adevar, imi poti arata? |
#14
Posted 16 March 2022 - 18:03
#15
Posted 19 March 2022 - 03:23
0 0 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 2 0 0 2 1 0 2 2 1 0 0 1 0 1 1 0 2 1 1 0 1 1 1 1 1 2 1 2 0 1 2 1 1 2 2 2 0 0 2 0 1 2 0 2 2 1 0 2 1 1 2 1 2 2 2 0 2 2 1 2 2 2Iti ramane tema, folosind "if" si "else" sa completezi tabebul dupa exemplu din postul anterior Edited by MarianG, 19 March 2022 - 03:23. |
|
#16
Posted 22 March 2022 - 20:36
pai da, faci tabel si te verifici daca ai rezultate corecte.
Nu stiu ce ti-a venit cu divizibiltatea numerelor, aici vorbim despre siruri. Iar eu in generarea tabelului am folosit while, impartire si modulo P.S. tema pe care ti-am prezenat-o eu nu are restrictii, doar cerinta de a completa tabelul. Edited by MarianG, 22 March 2022 - 20:50. |
#17
Posted 23 March 2022 - 10:50
Salut. Scuza-ma Marian dar nu stiu sa fac tabelul. Ce trebuie sa fac? Sa inlocuiesc a , b si c cu valorile pe care mi le-ai dat?
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users