Informatică, întrebare adresată de alexdinca905, 8 ani în urmă

Fişierul date.in conţine pe prima linie numărul n, natural nenul (2<n<20), ce reprezintă
numărul de linii ale unei matrice pătratice A. Pe fiecare din următoarele n linii, sunt scrise
câte n numere naturale, formate din cel mult 4 cifre, separate prin câte un spaţiu,
reprezentând valorile elementelor matricei A.
Să se scrie un program, în limbajul Pascal/C/C++, care:
a) afişează pe ecran, în linie, separate prin câte un spaţiu, elementele de pe ultima coloană a
matricei A;
b) afişează pe următoarea linie a ecranului numărul elementelor pare situate deasupra
diagonalei secundare a matricei;
c) înlocuiește fiecare element din matricea A cu suma cifrelor sale și scrie în fişierul atestat.out
matricea nou formată.

Răspunsuri la întrebare

Răspuns de OiLoveYouO
1

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream fin("date.in");

ofstream fout("atestat.out");

int A[20][20], i, j, k, suma, x, n;

int main ()

{

fin >> n;

for (i = 1; i <= n; i ++)

for (j = 1; j <= n; j ++)

fin >> A[i][j];

//subpunctul a:

for (i = 1; i <= n; i ++) cout << A[i][n] << " ";

cout << endl;

//subpunctul b:

/*elementele de pe coloana secundara sunt de tipul A[i][n-i+1]*/

/*elementele de deasupra sunt de tipul A[i][j] cu j<n-i+1/*

/*in k se vor retine nr de nr pare de deasupra diag secundare*/

for (i = 1; i <= n; i ++)

for (j = 1; j < n-i+1; j ++)

if (A[i][j]%2 == 0) k++;

cout << k;

//subpunctul c:

for (i = 1; i <= n; i ++)

for (j = 1; j <= n; j ++) {

x = A[i][j];

suma = 0;

while (x > 0) {

suma = suma + x%10;

x = x/10;

}

A[i][j] = suma;

}

for (i = 1; i <= n; i ++) {

for (j = 1; j <= n; j ++) fout << A[i][j] << " ";

fout << endl;

}

return 0;

}

Explicație:

Exemplu:

in fiesierul date.in:

5

12 3 45 6 7

13 9 76 1 0

67 4 90 3 8

79 5 35 8 4

78 5 33 7 9

pe ecran se afiseaza:

7 0 8 4 9

4 (numerele 12, 6, 76 si 4; diagonala e formata din 78 5 90 1 7)

in fisierul atestat.out:

3 3 9 6 7

4 9 13 1 0

13 4 9 3 8

16 5 8 8 4

15 5 6 7 9

Anexe:

OiLoveYouO: rezolvarea e in c++
alexdinca905: multumesc mult <3
OiLoveYouO: cu drag ^^
alexdinca905: Dau si explicatia?
OiLoveYouO: faci cum consideri mai bine
OiLoveYouO: programul poti sa il trimiti fara comentarii
OiLoveYouO: ce e scris dupa "//" sau intre "/*" si "*/ sunt comentarii, programul functioneaza si fara ele
OiLoveYouO: imi pare rau dar am gasit o greseala in raspunsul meu, cand am declarat variabilele am uitat sa declar si variabila n. am corectat, dar uita-te si tu si ai grija sa nu pui gresit, imi pare rau nu observasem
Alte întrebări interesante