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 |
Modificare program c++
Last Updated: Jul 04 2018 13:09, Started by
-PTM-Andrey
, Jul 04 2018 10:50
·
0
#1
Posted 04 July 2018 - 10:50
Salut. Se da urmatoarea cerinta:
Se dă o matrice m cu N linii și N coloane. Să se afișeze fiecare paralelă la diagonala principală. Paralele vor fi parcurse de la stânga la dreapta. Elementele de pe fiecare paralelă vor fi parcurse de jos în sus. Date de intrare De pe prima linie se citesc la tastatură numărul N. De pe următoarele N linii se citesc N numere naturale care reprezintă elementele matricei. Date de ieșire Programul va afișa pe ecran un șir de numere, separate prin spații, reprezentând elementele matricei parcurse în ordinea din enunț. Restricții și precizări 1 ≤ N ≤ 50 1 ≤ m[j] ≤ 100 Exemplu: Pentru n=4 și matricea: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Se va afisa: 13 14 9 15 10 5 16 11 6 1 12 7 2 8 3 4 Mie imi afiseaza astfel: 13 9 14 5 10 15 1 6 11 16 2 7 12 3 8 4 #include <iostream> using namespace std; int main() { int m[20][20], n, i, j, x; cin>>n; for(i=0;i<n;i++) for(j=0;j<n;j++) cin>>m[i][j]; cout<<"Liniile paralele cu diagonala principala, jos-sus && stanga-dreapta sunt: "<<endl; for(x=-n+1; x<0; x++) { for(i=0; i<x+n; i++) cout<<m[i-x][i]<<" "; } for(x=0; x<n; x++) { for(i=x; i<n; i++) cout<<m[i-x][i]<<" "; } return 0; } Deci problema este urmatoarea: Cum pot face sa se afiseze de la stanga la dreapta paralelele diagonalei ? ( Vezi exemplu ) Edited by -PTM-Andrey, 04 July 2018 - 10:54. |
#2
Posted 04 July 2018 - 11:05
Scrie perechile de (i,j) explicit pentru matricile de dimensiune 1x1, 2x2, 3x3, 4x4, 5x5, si extrage formulele matematice.
|
#3
Posted 04 July 2018 - 12:01
Aici solutia nu e cumva ordinea in care sunt asezate in cele doua "cout"-uri?
|
#4
Posted 04 July 2018 - 12:09
karax, on 04 iulie 2018 - 12:01, said:
Aici solutia nu e cumva ordinea in care sunt asezate in cele doua "cout"-uri? Asa m-am gandit si eu initial pana cand am incercat aproape toate variantele ( mai putin cea buna, aparent ) EDIT: Problem solved for(d=-n+1; d<0; d++) { for(i=d+n; i>0; i--) cout<<m[i-1-d][i-1]<<" "; } for(d=0; d<n; d++) { for(i=n; i>d; i--) cout<<m[i-1-d][i-1]<<" "; } Edited by -PTM-Andrey, 04 July 2018 - 12:20. |
#5
Posted 04 July 2018 - 12:19
Atunci decalajul este trecut in for-uri. Ca altundeva nu are unde.
Sau in int m[20][20] ....desi nu vad ce ar fi gresit... |
#6
Posted 04 July 2018 - 12:20
Problema rezolvata. Multumesc mult karax.
Aparent trebuiau luate al doilea for de la fiecare parcurgere in ordine inversa ... Puteti da t/c. Scuzati pentru post aiurea, daca este considerat asa... |
#7
Posted 04 July 2018 - 13:09
Wow mersi...e prima data cand imi spune cineva ca am dat un sfat bun in materie de programare... ma duc sa sarbatoresc...
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users