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

Fisierul atestat.in contine pe prima linie numerele naturale nenule m
si n, care reprezinta numarul de linii, respectiv numarul de coloane ale
unei matrice A. Pe fiecare din urmatoarele m linii sunt scrise cate n
numere naturale, formate din cel mult 4 cifre, separate prin cate un
spatiu.
Sa se scrie un program care :
a) Afiseaza pe ecran, in linie, separate prin cate un spatiu,
elementele impare din matricea A
b) Prin intermediul unui subprogram, afiseaza pe ecran mesajul
DA daca un numar natural k, introdus de la tastatura, se gaseste
in matricea A, sau mesajul NU in caz contrar.
c) Inlocuieste fiecare element din matricea A cu produsul cifrelor
sale si scrie in fisierul atestat,out matricea nou formata.​

Răspunsuri la întrebare

Răspuns de Itrytohelp
1

Răspuns:

ifstream f("atestat.in");

void gaseste(int A[50][], int &m ,int &n , int &k)

{ book ok=false;

for (int i=1;i<=m;i++)

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

if(A[i][j]==k)

ok==true;

if(ok==true)

cout<<"Da";

else

cout<<"Nu";

}

int main()

{ int n , m , a[50][50];

f>>m>>n;

for (int i=1;i<=m;i++)

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

f>>a[i][j];

// a)

for (int i=1;i<=m;i++)

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

if(a[i][j]%2==1)

cout<<a[i][j]<<" ";

//b)

int k; cin>>k;

gaseste(a,m,n,k);

//c)

int p,c,z;

for (int i=1;i<=m;i++) {

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

p=1,z=a[i][j];

if (z==0)

p=0;

else

{ while (z!=0)

{ c=z%10;

p*=c;

z/=10;

}

}

a[i][j]=p;

}

}

for (int i=1;i<=m;i++){

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

cout<<a[i][j]<<" ";

cout<<endl;

}

Răspuns de Excelsis
1

#include<iostream>

#include<fstream>

using namespace std;

ifstream fcin("atestat.in");

ofstream fcout("atestat.out");

int n,m,i,j,a[100][100],p,k;

int matrice(int a[100][100],int m,int n,int k)

{

   for(int i=1;i<=m;i++)

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

           if(a[i][j]==k)return 1;

   return 0;

}

int main()

{

   fcin>>m>>n>>k;

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

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

       {

           fcin>>a[i][j];

           if(a[i][j]%2==1)fcout<<a[i][j]<<" ";

       }

   fcout<<endl;

   if(matrice(a,n,m,k)==1)fcout<<"DA";

   else fcout<<"NU";

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

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

       {

           p=1;

           while(a[i][j])

           {

               p*=a[i][j]%10;

               a[i][j]/=10;

           }

           a[i][j]=p;

       }

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

   {

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

           fcout<<a[i][j]<<" ";

       fcout<<endl;

   }

}

Alte întrebări interesante