Sunteți pe pagina 1din 5

1) Se citesc din fișierul MATRIX.IN 1 de pe prima linie 2 numere naturale (n și m).

(cu1<n<=10 si
1<m<=20).Se citesc de pe următoarele n linii cele n x m elemente ale unui tablou
bidimensional (matrice) format din numere reale. Să se afișeze pe ecran:
a) matricea citită din fișier
b) elementele de pe conturul matricii
c) liniile din matrice care are au suma elementelor maximă, precum și suma obținută
d) matricea obținută după inversarea primei linii cu ultima
e) matricea obținută după inversarea primei coloane cu a doua

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("matrix.in");

int main()

int n,m,i,j,maxx=0,S=0,linie=0,aux1,aux2;

float M[101][101];

f>>n>>m;

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

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

f>>M[i][j];

///subpunctul a) matricea citită din fișier

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

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

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

cout<<endl;

///subpunctul b) elementele de pe conturul matricii

cout<<"subpunctul b:";

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

cout<<M[1][j]<<" ";

cout<<M[n][j]<<" ";

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

cout<<M[i][1]<<" ";
cout<<M[i][m]<<" ";

cout<<endl;

///subpunctul c) liniile din matrice care are au suma elementelor maximă, precum și suma obținută

cout<<"subpunctul c:";

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

maxx=maxx+M[1][m];

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

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

S=S+M[i][j];

if(S>maxx){

maxx=S;

linie=i;

S=0;

cout<<maxx<<" "<<linie;

cout<<endl;

///subpunctul d) matricea obținută după inversarea primei linii cu ultima

cout<<"subpunctul d:"<<endl;

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

aux1=M[1][j];

M[1][j]=M[n][j];

M[n][j]=aux1;

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

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

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

cout<<endl;

cout<<endl;
///subpunctul e) matricea obținută după inversarea primei coloane cu a doua

cout<<"subpunctul e:"<<endl;

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

aux2=M[i][1];

M[i][1]=M[i][m];

M[i][m]=aux2;

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

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

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

cout<<endl;

return 0;

2) Se citesc din fișierul MATRIX.IN 1 de pe prima linie 2 numere naturale (n și m). (cu1<n<=10 si
1<m<=20) .Se citesc de pe următoarele n linii cele n x m elemente ale unui tablou
bidimensional (matrice) format din numere reale. Să se afișeze pe ecran:

a) matricea citită din fișier

b) elementele de pe conturul matricii

c) liniile din matrice care are au suma elementelor maximă, precum și suma obținută

d) matricea obținută după inversarea primei linii cu ultima

e) matricea obținută după inversarea primei coloane cu a doua

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("mat.in");

ofstream g("mat.out");

int main()

int n,m,i,j,maxx,minn,c;

float M[101][101];

f>>n>>m;
for(i=1;i<=n;i++)

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

f>>M[i][j];

///subpunctul a) Valoarea minimă și valoarea maximă din matrice

g<<"subpunctul a:";

maxx=M[1][1];

minn=M[1][1];

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

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

if(M[i][j]>maxx)

maxx=M[i][j];

g<<maxx<<" ";

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

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

if(M[i][j]<minn)

minn=M[i][j];

g<<minn<<endl;

///subpunctul b) Doar valorile întregi din matrice

///subpunctul c) Numărul de elemente pozitive din matrice

g<<"subpunctul c:";

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

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

if(M[i][j]>0)

c++;

g<<c;

return 0;

3) Se citesc din fișierul MATRICE.IN de pe prima linie 2 numere naturale memorate

în variabilele n și m (cu 1&lt; n &lt;=20 și 1&lt; m &lt;=20). Să se creeze în memorie o matrice

formată din primele n x m numere naturale.

#include <iostream>
#include <fstream>

using namespace std;

ifstream f("matrice.in");

int main()

int n,m,i=1,j,k,l,x,M[100][100];

f>>n>>m;

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

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

for(k=0;k<n*m;k++){

x=k;

cout<<x<<" ";

cout<<endl;

return 0;

S-ar putea să vă placă și