+Graham777 Posted November 19, 2014 Report Posted November 19, 2014 Se da urmatoarea problema:Scrieţi un program C/C++ care construieşte în memorie o matrice cu 10 linii şi 7 coloane ale cărei elemente sunt numere întregi (cu maximum 3 cifre fiecare), citite de la tastatură, şi afişează pe ecran, suma tuturor elementelor situate pe conturul matricei determinat de prima şi ultima linie respectiv prima şi ultima coloană a acestei matrice. Asa am incercat eu sa o fac: #include<iostream> using namespace std; int suma (int suma); int main() { int a[10][7],l=10,c=7,i,j,s=0; for(i=1;i<=l;i++) for(j=1;j<=c;j++) { cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[i][j];} s=suma(a[i][j]); cout<<"Suma este"<<s; return 0; } int suma (int suma) { int a[10][7],n, i,j; for (i=1; i<=10; i++) n=n+a[i][1]; for (i=1;i i<=10; i++) n=n+a[i][7]; for (j=1; j<=7; j++) n=n+a[1][j]; for (j=1; j<=7; j++) n=n+a[10][j]; return n; }
Moderators Courage Posted November 19, 2014 Moderators Report Posted November 19, 2014 Nu l-am testat... #include <iostream> using namespace std; int main (void) { int a[10][10], n, i, j; for (i=1 ; i <= 10 ; i++) { for (j=1 ; j <= 7 ; j++) { cout << "a[" << i << "][" << j << "]="; cin >> a[i][j]; } } int s = 0; for (j=1 ; j <= 7 ; j++) s += a[1][j] + a[10][j]; for (i=2 ; i < 10 ; i++) s+= a[i][1] + a[i][7]; cout << s; return 0; }
+Graham777 Posted November 19, 2014 Author Report Posted November 19, 2014 De la a[10][2] nu mai citeste.
Moderators Solution Courage Posted November 19, 2014 Moderators Solution Report Posted November 19, 2014 #include <iostream> using namespace std; int main (void) { int a[15][15], n, i, j; for (i=1 ; i <= 10 ; i++) { for (j=1 ; j <= 7 ; j++) { cout << "a[" << i << "][" << j << "]="; cin >> a[i][j]; } } int s = 0; for (j=1 ; j <= 7 ; j++) s += a[1][j] + a[10][j]; for (i=2 ; i < 10 ; i++) s+= a[i][1] + a[i][7]; cout << s; return 0; } 1
+Graham777 Posted November 19, 2014 Author Report Posted November 19, 2014 Nu-mi merge. Incearca sa dai 1 peste tot. Nu ia si capetele, cele 4 elemente.
Moderators Courage Posted November 19, 2014 Moderators Report Posted November 19, 2014 Mie-mi afiseaza 30 daca iau toate elementele 1, ceea ce trebuie #include <iostream> using namespace std; int main (void) { int a[15][15], n, i, j; for (i=1 ; i <= 10 ; i++) { for (j=1 ; j <= 7 ; j++) a[i][j] = 1; } /* for (i=1 ; i <= 10 ; i++) { for (j=1 ; j <= 7 ; j++) { cout << "a[" << i << "][" << j << "]="; cin >> a[i][j]; } }*/ int s = 0; for (j=1 ; j <= 7 ; j++) s += a[1][j] + a[10][j]; for (i=2 ; i < 10 ; i++) s+= a[i][1] + a[i][7]; cout << s; return 0; }
+Graham777 Posted November 19, 2014 Author Report Posted November 19, 2014 Ai matricea a[10][7]. Ai o data: 10+10 (de pe laterale) +7+7 (sus si jos). Da 34.
Moderators Courage Posted November 19, 2014 Moderators Report Posted November 19, 2014 Problema e ca aduni colturile de 2 ori.
MihneaCatalin Posted November 19, 2014 Report Posted November 19, 2014 Nu iti merge asa cum a facut-o Courage?
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now