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

Fișierul 'atestat.in' conține pe prima linie numărul n ce reprezintă numărul de linii ale unei matrice pătratice A. Pe fiecare din următoarele n linii sunt scrise câte n numerele naturale separate prin câte un spațiu, reprezentând valorile elementelor matricei A. Să se scrie un program care:
a) scrie pe ecran, pe aceeași linie, elementele de pe diagonala secundară a matricei A, separate prin câte un spațiu;
b) pe următoarea linie a ecranului scrie numărul de elemente impare de sub diagonala principală a matricei A;
c) scrie în fișierul 'atestat.out', pe prima linie, toate numerele pătrate perfecte din A. Dacă nu există, se va afișa mesajul 'NU EXISTĂ'. (c++ sau pascal)​

Răspunsuri la întrebare

Răspuns de anamariatudor2019
0

Răspuns:

#include<iostream>

#include<cmath>

#include<fstream>

using namespace std;

ifstream f("atestat.in");

ofstream g("atestat.out");

int main()

{ int n,i,j,mat[50][50],k=0,m=0;

f>>n;

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

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

f >> mat[i][j];

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

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

if(i+j==n-1)

g << mat[i][j] <<" "; }

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

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

if(i>j&&mat[i][j]%2==1)

{k++; } }

g<<endl<<k<<endl;

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

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

if((int)sqrt(mat[i][i])==sqrt(mat[i][j]))

{g<<mat[i][j]<<" ";

m=1;}

if(m==0) g<<"NU EXISTĂ";}

return 0;

}

Alte întrebări interesante