Puteti sa imi rezolvati problemele de pe aceasta fisa ? Nu am nevoie de tot programul, doar de la primul "for" incolo. Va rog frumos, am mare nevoie.
Anexe:
blindseeker90:
ca sa stii cum evoluez
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
#include <fstream>
#include <limits.h>
#include <cmath>
using namespace std;
int main(){
int a[100][100],i,j,m,n,min=INT_MAX,max=INT_MIN,p=1,s;
ifstream f("matrice.txt");
f>>n>>m;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
f>>a[i][j];
}
}
//4
//determin mai intai min si max
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]<min){
min=a[i][j];
}
if(a[i][j]>max){
max=a[i][j];
}
}
}
cout<<"Matrice cu valori minime inlocuite cu max:\n";
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]==min){
cout<<max<<" ";
}
else{
cout<<a[i][j]<<" ";
}
}
cout<<endl;
}
//5
for(i=0;i<n;i++){
for(j=1;j<m;j=j+2){
if(a[i][j]%2!=0){
p*=a[i][j];
}
}
}
while(abs(p)>10){
p/=10;
}
cout<<"Prima cifra a produsului cerut:"<<abs(p)<<endl;
//6
cout<<"Matricea cu liniile pare inversate:\n";
for(i=0;i<n;i++){
if((i+1)%2==1){
for(j=0;j<m;j++){
cout<<a[i][j]<<" ";
}
}
else{
for(j=m-1;j>=0;j--){
cout<<a[i][j]<<" ";
}
}
cout<<endl;
}
//7
cout<<"Elemente cu suma indicilor egala cu valoarea sunt:\n";
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(i+1+j+1==a[i][j]){
cout<<"("<<i+1<<","<<j+1<<") ";
}
}
}
cout<<endl;
//8
cout<<"Sume componente fiecare coloana:\n";
for(j=0;j<m;j++){
s=0;
for(i=0;i<n;i++){
s+=a[i][j];
}
cout<<"Col "<<j+1<<":"<<s<<" ";
}
cout<<endl;
//9
int ord_linie=0;
max=INT_MIN;
for(i=0;i<n;i++){
s=0;
for(j=0;j<m;j++){
s+=a[i][j];
}
if(s>max){
max=s;
ord_linie=i+1;
}
}
cout<<"Linia cu suma comp maxima este:"<<ord_linie<<endl;
//10
int ord_col=0;
min=INT_MAX;
for(j=0;j<m;j++){
p=1;
for(i=0;i<n;i++){
p*=a[i][j];
}
if(p<min){
min=p;
ord_col=j+1;
}
}
cout<<"coloana cu produsul comp minima este:"<<ord_col<<endl;
//11
int X,Y,t;
cout<<"Introduceti liniile ce trebuie interschimbate:";
cin>>X>>Y;
cout<<"Matricea cu liniile interschimbate: ";
for(i=0;i<n;i++){
if(i==X-1){
t=Y-1;
}
else if(i==Y-1){
t=X-1;
}
else{
t=i;
}
for(j=0;j<m;j++){
cout<<a[t][j]<<" ";
}
cout<<endl;
}
//12
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(j==0){
t=m-1;
}
else if(j==m-1){
t=0;
}
else{
t=j;
}
cout<<a[i][t]<<" ";
}
cout<<endl;
}
//13
int nr,k,este_prim;
cout<<"Coloane cu nr de numere prime:\n";
for(j=0;j<m;j++){
nr=0;
for(i=0;i<n;i++){
este_prim=1;
if(abs(a[i][j])==1||a[i][j]==0){
este_prim=0;
}
else{
for(k=2;k<=sqrt(a[i][j]);k++){
if(a[i][j]%k==0){
este_prim=0;
}
}
}
if(este_prim==1){
nr++;
}
}
cout<<"Coloana: "<<j+1<<":"<<nr<<" ";
}
cout<<endl;
//14
int multiple_linii[100],multiple_coloane[100],nr_linii,nr_coloane;
max=INT_MIN;
for(i=0;i<n;i++){
nr=0;
for(j=0;j<m;j++){
if(((int)a[i][j]-sqrt(a[i][j]))==0){
nr++;
}
}
if(nr>max){
max=nr;
nr_linii=0;
multiple_linii[nr_linii]=i+1;
}
else if(nr==max){
nr_linii++;
multiple_linii[nr_linii]=i+1;
}
}
if(nr_linii==0){
cout<<"Linia cu cele mai multe patrate perfecte sunt: "<<multiple_linii[0]<<" cu "<<max<<" patrate perfecte\n";
}
else{
cout<<"Liniile cu cele mai multe patrate perfecte sunt:";
for(i=0;i<=nr_linii;i++){
cout<<multiple_linii[i]<<" ";
}
}
//15
int sume_coloane[100],nr_sume;
for(j=0;j<m;j++){
sume_coloane[j]=0;
for(i=0;i<n;i++){
sume_coloane[j]+=a[i][j];
}
}
cout<<"Linii cu sume identice: ";
for(i=0;i<m-1;i++){
for(j=i+1;j<m;j++){
if(sume_coloane[j]==sume_coloane[i]){
cout<<"Suma "<<sume_coloane[i]<<" coloanele "<<i+1<<" si "<<j+1<<endl;
}
}
}
//16
double medie;
//aflam media aritmetica a numerelor
s=0;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
s+=a[i][j];
}
}
medie=(double)s/(n*m);
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]<medie){
cout<<"a["<<i+1<<"]["<<j+1<<"]="<<a[i][j]<<" ";
}
}
}
//17
cout<<"Introduceti linia care sa fie eliminata:";
cin>>X;
for(i=0;i<n;i++){
if(i==X-1){
continue;
}
for(j=0;j<m;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
#include <fstream>
#include <limits.h>
#include <cmath>
using namespace std;
int main(){
int a[100][100],i,j,m,n,min=INT_MAX,max=INT_MIN,p=1,s;
ifstream f("matrice.txt");
f>>n>>m;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
f>>a[i][j];
}
}
//4
//determin mai intai min si max
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]<min){
min=a[i][j];
}
if(a[i][j]>max){
max=a[i][j];
}
}
}
cout<<"Matrice cu valori minime inlocuite cu max:\n";
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]==min){
cout<<max<<" ";
}
else{
cout<<a[i][j]<<" ";
}
}
cout<<endl;
}
//5
for(i=0;i<n;i++){
for(j=1;j<m;j=j+2){
if(a[i][j]%2!=0){
p*=a[i][j];
}
}
}
while(abs(p)>10){
p/=10;
}
cout<<"Prima cifra a produsului cerut:"<<abs(p)<<endl;
//6
cout<<"Matricea cu liniile pare inversate:\n";
for(i=0;i<n;i++){
if((i+1)%2==1){
for(j=0;j<m;j++){
cout<<a[i][j]<<" ";
}
}
else{
for(j=m-1;j>=0;j--){
cout<<a[i][j]<<" ";
}
}
cout<<endl;
}
//7
cout<<"Elemente cu suma indicilor egala cu valoarea sunt:\n";
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(i+1+j+1==a[i][j]){
cout<<"("<<i+1<<","<<j+1<<") ";
}
}
}
cout<<endl;
//8
cout<<"Sume componente fiecare coloana:\n";
for(j=0;j<m;j++){
s=0;
for(i=0;i<n;i++){
s+=a[i][j];
}
cout<<"Col "<<j+1<<":"<<s<<" ";
}
cout<<endl;
//9
int ord_linie=0;
max=INT_MIN;
for(i=0;i<n;i++){
s=0;
for(j=0;j<m;j++){
s+=a[i][j];
}
if(s>max){
max=s;
ord_linie=i+1;
}
}
cout<<"Linia cu suma comp maxima este:"<<ord_linie<<endl;
//10
int ord_col=0;
min=INT_MAX;
for(j=0;j<m;j++){
p=1;
for(i=0;i<n;i++){
p*=a[i][j];
}
if(p<min){
min=p;
ord_col=j+1;
}
}
cout<<"coloana cu produsul comp minima este:"<<ord_col<<endl;
//11
int X,Y,t;
cout<<"Introduceti liniile ce trebuie interschimbate:";
cin>>X>>Y;
cout<<"Matricea cu liniile interschimbate: ";
for(i=0;i<n;i++){
if(i==X-1){
t=Y-1;
}
else if(i==Y-1){
t=X-1;
}
else{
t=i;
}
for(j=0;j<m;j++){
cout<<a[t][j]<<" ";
}
cout<<endl;
}
//12
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(j==0){
t=m-1;
}
else if(j==m-1){
t=0;
}
else{
t=j;
}
cout<<a[i][t]<<" ";
}
cout<<endl;
}
//13
int nr,k,este_prim;
cout<<"Coloane cu nr de numere prime:\n";
for(j=0;j<m;j++){
nr=0;
for(i=0;i<n;i++){
este_prim=1;
if(abs(a[i][j])==1||a[i][j]==0){
este_prim=0;
}
else{
for(k=2;k<=sqrt(a[i][j]);k++){
if(a[i][j]%k==0){
este_prim=0;
}
}
}
if(este_prim==1){
nr++;
}
}
cout<<"Coloana: "<<j+1<<":"<<nr<<" ";
}
cout<<endl;
//14
int multiple_linii[100],multiple_coloane[100],nr_linii,nr_coloane;
max=INT_MIN;
for(i=0;i<n;i++){
nr=0;
for(j=0;j<m;j++){
if(((int)a[i][j]-sqrt(a[i][j]))==0){
nr++;
}
}
if(nr>max){
max=nr;
nr_linii=0;
multiple_linii[nr_linii]=i+1;
}
else if(nr==max){
nr_linii++;
multiple_linii[nr_linii]=i+1;
}
}
if(nr_linii==0){
cout<<"Linia cu cele mai multe patrate perfecte sunt: "<<multiple_linii[0]<<" cu "<<max<<" patrate perfecte\n";
}
else{
cout<<"Liniile cu cele mai multe patrate perfecte sunt:";
for(i=0;i<=nr_linii;i++){
cout<<multiple_linii[i]<<" ";
}
}
//15
int sume_coloane[100],nr_sume;
for(j=0;j<m;j++){
sume_coloane[j]=0;
for(i=0;i<n;i++){
sume_coloane[j]+=a[i][j];
}
}
cout<<"Linii cu sume identice: ";
for(i=0;i<m-1;i++){
for(j=i+1;j<m;j++){
if(sume_coloane[j]==sume_coloane[i]){
cout<<"Suma "<<sume_coloane[i]<<" coloanele "<<i+1<<" si "<<j+1<<endl;
}
}
}
//16
double medie;
//aflam media aritmetica a numerelor
s=0;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
s+=a[i][j];
}
}
medie=(double)s/(n*m);
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(a[i][j]<medie){
cout<<"a["<<i+1<<"]["<<j+1<<"]="<<a[i][j]<<" ";
}
}
}
//17
cout<<"Introduceti linia care sa fie eliminata:";
cin>>X;
for(i=0;i<n;i++){
if(i==X-1){
continue;
}
for(j=0;j<m;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă