Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
Paralele cu diagonala principala
Last Updated: Dec 14 2017 05:36, Started by
player2001
, Nov 13 2017 20:58
·
0
#1
Posted 13 November 2017 - 20:58
Salut ...cum as putea sa separ paralelele diagonalei principale :
#include <iostream> using namespace std; int main() { int mat[20][20]; int n,i,j,d; cin>>n; for(i=0;i<n;i++) for(j=0;j<n;j++) { cin>>mat[i][j]; } for(i=0;i<n;i++) { for(j=0;j<n;j++)cout<<mat[i][j]<<" "; cout<<endl; } d=n-1; while(d>=0) { for(i=0;i<n-d;i++)cout<<mat[i][i+d]<<" "; d--; } return 0; } asta e codul care l-am folosit ,dar mi le da una dupa alta pe aceiasi linie Pt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 sa-mi afiseze 4 3 8 2 7 12 |
#2
Posted 14 November 2017 - 00:01
Iti lipseste un cout<<endl; dupa(sau inainte de) d--;
Insa, mai elegant, ecuatia unei paralele cu diagonala este i=j+d, unde. Tie iti lipsesc cateva diagonale acolo. In total sunt 2n-1 paralele, nustiu care ti-a fost intentia. Pentru : d ∈ [-n+1 , n-1] i ∈ [0 , n-1] j ∈ [0 , n-1] Avem pentru d ∈ [-n+1 , n-1], fixat: i ∈ [d, d+n-1] ∩ [0 , n-1] sau, altfel zis pentru d>=0 i ∈ [d, n-1] iar pentru d<0 i ∈ [0, d+n-1] si j=i-d Deci, eu as face asa(daca e sa le afisez pe toate 2n-1 paralelele): for(d=-n+1; d<0; d++) //d<0 { for(i=0; i<d+n; i++) cout<<mat[i][i-d]<<" "; cout<<endl; } // aici deja avem d=0, dar... hai sa fie mai clar. for(d=0; d<n; d++) //d>=0 { for(i=d; i<n; i++) cout<<mat[i][i-d]<<" "; cout<<endl; } //Daca le vrei in ordine inversa, scrii forurile for(d=n-1;d>=0;d--) respectiv for(d=0;d>-n;d--), avand grija care din ele e pentru d>=0 respectiv d<0 Poti utiliza si operatorul ? : pentru a putea folosi un singur for. Scrii ceva de genul: for(d=-n+1; d<n;d++) { for(i=(d>=0 ? d : 0); i<(d>=0 ? n : d+n); d++) cout<<mat[i][i-d]<<" "; cout<<endl; } |
#3
Posted 14 November 2017 - 07:41
maccip, on 14 noiembrie 2017 - 00:01, said:
Iti lipseste un cout<<endl; dupa(sau inainte de) d--; Insa, mai elegant, ecuatia unei paralele cu diagonala este i=j+d, unde. Tie iti lipsesc cateva diagonale acolo. In total sunt 2n-1 paralele, nustiu care ti-a fost intentia. Pentru : d ∈ [-n+1 , n-1] i ∈ [0 , n-1] j ∈ [0 , n-1] Avem pentru d ∈ [-n+1 , n-1], fixat: i ∈ [d, d+n-1] ∩ [0 , n-1] sau, altfel zis pentru d>=0 i ∈ [d, n-1] iar pentru d<0 i ∈ [0, d+n-1] si j=i-d Deci, eu as face asa(daca e sa le afisez pe toate 2n-1 paralelele): for(d=-n+1; d<0; d++) //d<0 { for(i=0; i<d+n; i++) cout<<mat[i][i-d]<<" "; cout<<endl; } // aici deja avem d=0, dar... hai sa fie mai clar. for(d=0; d<n; d++) //d>=0 { for(i=d; i<n; i++) cout<<mat[i][i-d]<<" "; cout<<endl; } //Daca le vrei in ordine inversa, scrii forurile for(d=n-1;d>=0;d--) respectiv for(d=0;d>-n;d--), avand grija care din ele e pentru d>=0 respectiv d<0 Poti utiliza si operatorul ? : pentru a putea folosi un singur for. Scrii ceva de genul: for(d=-n+1; d<n;d++) { for(i=(d>=0 ? d : 0); i<(d>=0 ? n : d+n); d++) cout<<mat[i][i-d]<<" "; cout<<endl; } Mersi ! Imi trebuia toate diagonalele.... nu mi-a dat seama ca endl trebuia pus dupa d--;eu am incercat sa-l pun dupa mat[i][i+d] |
#4
Posted 14 December 2017 - 05:36
Mie nu-mi merge programul
Imi da vreo 2-3 erori in MingGW |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users