Вопрос: Возникают ошибки. С++

  • Автор темы Marisha
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

Marisha

#1
Дана целочисленная квадратная матрица. Определить:
- сумму элементов в тех столбцах, которые не содержат отрицательных элементов;
- минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы

выдает множество ошибок, не подскажете с чем это связано?


Код:
#include <stdio.h>
#include <math.h>
#include <conio.h>

main()
{
int matrix[3][3];
int i, j, z, sum, min;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
scanf("%d",&matrix[i][j]);
for (j = 0; j < 3; j++)
{
sum = 0;
for (i = 0; i < 3; i++)
{
if(matrix[i][j] >= 0 )
sum += matrix[i][j];
else
break;
}
if ( i == 3) printf("Column %d Sum = %d\n",j,sum);
}
sum = 0;
for(j = 3-2; j > 0; j--,sum = 0)
{
for(i = 3-1,z = j; z < 3; i--,z++)
sum += abs(matrix[i][z]);
if ( j == 3-2)
min = sum;
else if (sum < min)
min = sum;
}
for(j = 3-2; j > 0; j--,sum = 0)
{
for(i = 0,z = j; z >= 0; i++,z--)
sum += abs(matrix[i][z]);
if ( j ==3-2)
min = sum;
else if (sum < min)
min = sum;
}
printf("Minimum Sum = %d",min);
return 0;
getch();
}
 
V

vbart

#3
Вроде работает!)

Код:
 #include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <conio.h>

void main()
{
int matrix[3][3];
int i, j, z, sum, min;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
scanf("%d",&matrix[i][j]);
for (j = 0; j < 3; j++)
{
sum = 0;
for (i = 0; i < 3; i++)
{
if(matrix[i][j] >= 0 )
sum += matrix[i][j];
else
break;
}
if ( i == 3) printf("Column %d Sum = %d\n",j,sum);
}
sum = 0;
for(j = 3-2; j > 0; j--,sum = 0)
{
for(i = 3-1,z = j; z < 3; i--,z++)
sum += abs(matrix[i][z]);
if ( j == 3-2)
min = sum;
else if (sum < min)
min = sum;
}
for(j = 3-2; j > 0; j--,sum = 0)
{
for(i = 0,z = j; z >= 0; i++,z--)
sum += abs(matrix[i][z]);
if ( j ==3-2)
min = sum;
else if (sum < min)
min = sum;
}
printf("Minimum Sum = %d",min);
getch();
}
 

DarkKnight

Well-known member
01.08.2010
653
0
#4
2 Marisha: У вас все верно кроме одного, вы функцию main определили не верно...
Вот смотрите, вы возвращаете из нее целочисленное значение :

А main определена как void main(void)
Определите main как
C++:
int main(void)
{
...
...
..
return 0;

}
А больше ничего я не увидел...
 
Статус
Закрыто для дальнейших ответов.