URGENT!!!!!!!
Cerinţa
Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Determinați suma valorilor pare distincte din matrice. Dacă o valoare pară apare în matrice de mai multe ori, se va aduna o singură dată.
Date de intrare
Programul citește de la tastatură numerele n şi m, iar apoi n*m numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie.
Date de ieşire
Programul afișează pe ecran suma căutată S.
Restricţii şi precizări
1 ≤ m,n ≤ 100
elementele matricei vor fi mai mici decât 10000
Exemplu
Date de intrare
4 6
4 20 15 23 18 9
1 8 23 22 14 18
17 15 13 18 12 15
3 18 8 20 12 5
Date de ieșire
98
#768
Răspunsuri la întrebare
Răspuns de
0
#include "stdafx.h"
#include "iostream"
using namespace std;
void main()
{
int m, n, contor = 0,suma = 0;
int*mat;
int*arr;
bool eDistinct;
do{
cin >> n >> m;
if ((n > 100 || n < 0) || (m > 100 || m < 0)) {
cout << "Introduceti numere de la 0 la 100";
}
} while ((n > 100 || n < 0) || (m > 100 || m < 0));
mat = new int[n,m];
arr = new int[n*m];
cout << "Introduceti numerele:\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) { do {
cin >> mat[i, j];
if (mat[i, j] > 10000 || mat[i, j] < 0) {
cout << "Numerele trebuie sa fie mai mici ca 10000!\n";
}
} while (mat[i, j] > 10000 || mat[i,j] < 0);
if (mat[i, j] % 2 == 0) {
eDistinct = true;
for (int g = 0; g < contor; g++) {
if (arr[g] == mat[i,j]) {
eDistinct = false;
}
}
if (eDistinct || contor == 0) {
arr[contor] = mat[i, j];
contor = contor + 1;
}
}
}
}
for (int i = 0; i < contor; i++) {
suma = suma + arr[i];
}
cout << "Suma este:"<<suma << endl << endl;
system("pause");
delete mat;
delete arr;
}
#include "iostream"
using namespace std;
void main()
{
int m, n, contor = 0,suma = 0;
int*mat;
int*arr;
bool eDistinct;
do{
cin >> n >> m;
if ((n > 100 || n < 0) || (m > 100 || m < 0)) {
cout << "Introduceti numere de la 0 la 100";
}
} while ((n > 100 || n < 0) || (m > 100 || m < 0));
mat = new int[n,m];
arr = new int[n*m];
cout << "Introduceti numerele:\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) { do {
cin >> mat[i, j];
if (mat[i, j] > 10000 || mat[i, j] < 0) {
cout << "Numerele trebuie sa fie mai mici ca 10000!\n";
}
} while (mat[i, j] > 10000 || mat[i,j] < 0);
if (mat[i, j] % 2 == 0) {
eDistinct = true;
for (int g = 0; g < contor; g++) {
if (arr[g] == mat[i,j]) {
eDistinct = false;
}
}
if (eDistinct || contor == 0) {
arr[contor] = mat[i, j];
contor = contor + 1;
}
}
}
}
for (int i = 0; i < contor; i++) {
suma = suma + arr[i];
}
cout << "Suma este:"<<suma << endl << endl;
system("pause");
delete mat;
delete arr;
}
MrXDead:
Este putin 'messy' dar functioneaza.
Alte întrebări interesante