Дан двумерный массив, добавить строку из цифр "5" после строк, в которых есть нулевые элементы. Написать код в C++
Ответы на вопрос
Ответил Gleb1Kosyrev
0
//Dev-C++ 4.9.9.2
#include <iostream>
using namespace std;
const
int n=3;
int main(){
int ma[n*2][n];
bool b;
int nr=0;
nr=n;
b=false;
for(int i=0;i<n*2;i++)
for(int j=0;j<n;j++)
ma[i][j]=0;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
cin>>ma[i][j];
cout<<"Matrix:"<<endl;
for(int i=0;i<nr;i++){
for(int j=0;j<n;j++)
cout<<ma[i][j]<<' ';
cout<<endl;}
for(int i=0;i<nr;i++){
for(int j=0;j<n;j++){
if(ma[i][j]==0)b=true;}
if(b==true){
for(int z=nr-1;z>i;z--){
for(int c=0;c<n;c++)
ma[z+1][c]=ma[z][c];}
for(int c=0;c<n;c++)
ma[i+1][c]=5;
nr++;}
b=false;}
cout<<"Final matrix:"<<endl;
for(int i=0;i<nr;i++){
for(int j=0;j<n;j++)
cout<<ma[i][j]<<' ';
cout<<endl;
}
cin.get();
cin.get();
return 0;
}
#include <iostream>
using namespace std;
const
int n=3;
int main(){
int ma[n*2][n];
bool b;
int nr=0;
nr=n;
b=false;
for(int i=0;i<n*2;i++)
for(int j=0;j<n;j++)
ma[i][j]=0;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
cin>>ma[i][j];
cout<<"Matrix:"<<endl;
for(int i=0;i<nr;i++){
for(int j=0;j<n;j++)
cout<<ma[i][j]<<' ';
cout<<endl;}
for(int i=0;i<nr;i++){
for(int j=0;j<n;j++){
if(ma[i][j]==0)b=true;}
if(b==true){
for(int z=nr-1;z>i;z--){
for(int c=0;c<n;c++)
ma[z+1][c]=ma[z][c];}
for(int c=0;c<n;c++)
ma[i+1][c]=5;
nr++;}
b=false;}
cout<<"Final matrix:"<<endl;
for(int i=0;i<nr;i++){
for(int j=0;j<n;j++)
cout<<ma[i][j]<<' ';
cout<<endl;
}
cin.get();
cin.get();
return 0;
}
Новые вопросы