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 |
[TEMA]Suma de pe diagonala secundara
Last Updated: Oct 14 2014 19:06, Started by
AdrianUrsaciuc
, Sep 23 2014 17:51
·
0
#1
Posted 23 September 2014 - 17:51
Se citeste o matrice cu elemente intregi sa se inlocuiasca elementele de pe diagonala principala cu oglinditele lor si elementele de pe diagonala secundara cu suma cifrelor.
#include <iostream> using namespace std; int main() { int n,m,a[100][100],sum,c,nr; cout<<"n=";cin>>n; for(int i=0;i<n;i++) for(int j=0;j<n;j++) { cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[i][j]; } cout<<endl; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) cout<<a[i][j]<<" "; cout<<endl; } cout<<endl; // principala for(int i=0;i<n;i++) for(int j=0;j<n;j++) { int nr=a[i][i]; int ogl=0; while(nr!=0) { int c=nr%10; nr=nr/10; ogl=ogl*10+c; } a[i][i]=ogl; } cout<<endl; // secundara for(int i=0;i<n;i++) for(int j=0;j<n;j++) { nr=a[i][n-1-i]; sum=0; while(nr!=0) { c=nr%10; nr=nr/10; sum=sum + c; } a[i][n-1-i]=sum; } cout<<endl; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) cout<<a[i][j]<<" "; cout<<endl; } return 0; } nu calculeaza bine suma de pe diagonala secundara. |
#2
Posted 23 September 2014 - 18:08
Ce sens are iterarea cu j cand e vorba de diagonala?
|
#3
Posted 23 September 2014 - 18:23
nu prea am inteles ce ai scris tu la diagonala secundara
dar toate elementele de pe diag secundara au suma coordonatelor (i+j) egala cu n+1 daca i+j=n+1 adaugi elementul la suma apoi inlocuiesti incepe de la 1, ca te poti incurca 1,1 1,2 1,3 1,4 2,1 2,2 2,3 2,4 3,1 3,2 3,3 3,4 4,1 4,2 4,3 4,4 Edited by OmulLLORT, 23 September 2014 - 18:25. |
#4
Posted 23 September 2014 - 18:46
int main() { const int SIZE = 3; int matrice[SIZE][SIZE] = { {123, 234, 456}, {345, 432, 879}, {345, 867, 567} }; for (int i = 0; i < SIZE; i++) { Digitizer<int> temp(matrice[i][i]); reverse(temp.begin(), temp.end()); matrice[i][i] = temp; temp = matrice[SIZE - 1 - i][i]; matrice[SIZE - 1 - i][i] = accumulate(temp.begin(), temp.end(), 0); } for (int x = 0; x < SIZE; x++) { for (int y = 0; y < SIZE; y++) { cout << matrice[x][y] << " "; } cout << endl; } return 0; } Quote
321 234 _15 345 __9 879 _12 867 765 |
#5
Posted 14 October 2014 - 12:39
OmulLLORT, on 23 septembrie 2014 - 18:23, said:
nu prea am inteles ce ai scris tu la diagonala secundara dar toate elementele de pe diag secundara au suma coordonatelor (i+j) egala cu n+1 daca i+j=n+1 adaugi elementul la suma apoi inlocuiesti incepe de la 1, ca te poti incurca 1,1 1,2 1,3 1,4 2,1 2,2 2,3 2,4 3,1 3,2 3,3 3,4 4,1 4,2 4,3 4,4 Invata-l prost de la inceput ca data viitoare cand se loveste de vreun index sa nu inteleaga de ce ii arunca exceptie. |
#6
Posted 14 October 2014 - 17:42
#7
Posted 14 October 2014 - 18:00
#8
Posted 14 October 2014 - 19:06
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users