Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента.
Характеристикой строки целочисленной матрицы назовём сумму положительных элементов. Переставляя строки заданной матрицы, расположить их в соотвествии с ростом характеристик.
дана целочисленная прямоугольная матрица
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Срочно до понедельника!!!
Нужен полностью готовый файл что бы можно было запустить на MS Visual Studo.
Нашел в инете,MS Visual Studo ошибки находит:
//============================================================================
// Name : laba_6.cpp
// Author : ROR191505
// Version : 1.0 Alpha
// Description : Дана целочисленная прямоугольная матрица. Определить количество столбцов,
// не содержащих ни одного нулевого элемента.
// Характеристикой строки целочисленной матрицы назовем сумму ее положительных
// четных элементов. Переставляя строки заданной матрицы, расположить их
// в соответствии с ростом характеристик.
//============================================================================
#include <iostream>
#include <fstream>
using namespace std;
int main() {
int n(0),m(0),num(0);
int *tmp, *tmp2;
int mas[50][50];
FILE *in=fopen("file", "rt");
FILE *out=fopen("file1", "wt");
fscanf(in,"%d %d",&n,&m);
tmp=new int[m];
tmp2=new int[m];
for(int i=0;i<m;i++)
{
tmp=0;
tmp2=0;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
fscanf(in,"%d",&mas[j]);
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(mas[j]==0)
tmp2=1;
if(mas[j]%2==0 && mas[j]>=0)
tmp+=mas[j];
}
}
for(int i=0;i<m;i++)
num+=tmp2;
fprintf(out,"%d столбца(ов) содержащих 0\n",num);
fprintf(out,"Размеры матрицы: %d*%d\n",n,m);
fprintf(out,"Исходная матрица\n");
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
fprintf(out,"%d ",mas[i][j]);
}
fprintf(out,"\n");
}
fprintf(out,"Полученная матрица\n");
for(int i=0;i<n;i++)
{
for(int j=0;j<m-1;j++)
{
if(tmp[j]<tmp[j+1])
{
tmp[j]=tmp[j]+tmp[j+1];
tmp[j+1]=tmp[j]-tmp[j+1];
tmp[j]=tmp[j]-tmp[j+1];
for(int k=0;k<n;k++)
{
mas[k][j]=mas[k][j]+mas[k][j+1];
mas[k][j+1]=mas[k][j]-mas[k][j+1];
mas[k][j]=mas[k][j]-mas[k][j+1];
}
}
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
fprintf(out,"%d ",mas[i][j]);
}
fprintf(out,"\n");
}
fcloseall();
return 0;
}
Нужен полностью готовый файл что бы можно было запустить на MS Visual Studo.
Нашел в инете,MS Visual Studo ошибки находит:
//============================================================================
// Name : laba_6.cpp
// Author : ROR191505
// Version : 1.0 Alpha
// Description : Дана целочисленная прямоугольная матрица. Определить количество столбцов,
// не содержащих ни одного нулевого элемента.
// Характеристикой строки целочисленной матрицы назовем сумму ее положительных
// четных элементов. Переставляя строки заданной матрицы, расположить их
// в соответствии с ростом характеристик.
//============================================================================
#include <iostream>
#include <fstream>
using namespace std;
int main() {
int n(0),m(0),num(0);
int *tmp, *tmp2;
int mas[50][50];
FILE *in=fopen("file", "rt");
FILE *out=fopen("file1", "wt");
fscanf(in,"%d %d",&n,&m);
tmp=new int[m];
tmp2=new int[m];
for(int i=0;i<m;i++)
{
tmp=0;
tmp2=0;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
fscanf(in,"%d",&mas[j]);
}
}
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
if(mas[j]==0)
tmp2=1;
if(mas[j]%2==0 && mas[j]>=0)
tmp+=mas[j];
}
}
for(int i=0;i<m;i++)
num+=tmp2;
fprintf(out,"%d столбца(ов) содержащих 0\n",num);
fprintf(out,"Размеры матрицы: %d*%d\n",n,m);
fprintf(out,"Исходная матрица\n");
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
fprintf(out,"%d ",mas[i][j]);
}
fprintf(out,"\n");
}
fprintf(out,"Полученная матрица\n");
for(int i=0;i<n;i++)
{
for(int j=0;j<m-1;j++)
{
if(tmp[j]<tmp[j+1])
{
tmp[j]=tmp[j]+tmp[j+1];
tmp[j+1]=tmp[j]-tmp[j+1];
tmp[j]=tmp[j]-tmp[j+1];
for(int k=0;k<n;k++)
{
mas[k][j]=mas[k][j]+mas[k][j+1];
mas[k][j+1]=mas[k][j]-mas[k][j+1];
mas[k][j]=mas[k][j]-mas[k][j+1];
}
}
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
fprintf(out,"%d ",mas[i][j]);
}
fprintf(out,"\n");
}
fcloseall();
return 0;
}