Работа с матрицей.
Добавлено: 01 апр 2010, 15:28
Составить программу для обработки многомерных массивов с использованием циклов:
Дана цело-численная квадратная матрица. Определить: а) сумму элементов в тех столбцах, которые не содержат отрицательных элементов, б) минимум среди сумм модулей элементов Диагоналей, параллельных побочной Диагонали матрицы.
Задание сделать эту программу на С++ и на Паскале.
Вот есть листинг этой программы на С++:
#include <stdio.h>
#include <math.h>
#define N 3
void main()
{
int A[N][N];
int i, j, z, sum, min;
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
scanf("%d",&A[j]);
for (j = 0; j < N; j++)
{
sum = 0;
for (i = 0; i < N; i++)
{
if(A[j] >= 0 )
sum += A[j];
else
break;
}
if ( i == N) printf(" %d Suma elementov v stolbce = %d\n",j,sum);
}
sum = 0;
for(j = N-2; j > 0; j--,sum = 0)
{
for(i = N-1,z = j; z < N; i--,z++)
sum += abs(A[z]);
if ( j == N-2)
min = sum;
else if (sum < min)
min = sum;
}
for(j = N-2; j > 0 ; j--,sum = 0)
{
for(i = 0,z = j; z >= 0; i++,z--)
sum += abs(A[z]);
if ( j == N-2)
min = sum;
else if (sum < min)
min = sum;
}
printf("Minimum Sum = %d",min);
}
А вот на Паскале не могу написать это же. Помогите решить, то завтра зачет, а у меня большие проблемы. Заранее спасибо.
Дана цело-численная квадратная матрица. Определить: а) сумму элементов в тех столбцах, которые не содержат отрицательных элементов, б) минимум среди сумм модулей элементов Диагоналей, параллельных побочной Диагонали матрицы.
Задание сделать эту программу на С++ и на Паскале.
Вот есть листинг этой программы на С++:
#include <stdio.h>
#include <math.h>
#define N 3
void main()
{
int A[N][N];
int i, j, z, sum, min;
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
scanf("%d",&A[j]);
for (j = 0; j < N; j++)
{
sum = 0;
for (i = 0; i < N; i++)
{
if(A[j] >= 0 )
sum += A[j];
else
break;
}
if ( i == N) printf(" %d Suma elementov v stolbce = %d\n",j,sum);
}
sum = 0;
for(j = N-2; j > 0; j--,sum = 0)
{
for(i = N-1,z = j; z < N; i--,z++)
sum += abs(A[z]);
if ( j == N-2)
min = sum;
else if (sum < min)
min = sum;
}
for(j = N-2; j > 0 ; j--,sum = 0)
{
for(i = 0,z = j; z >= 0; i++,z--)
sum += abs(A[z]);
if ( j == N-2)
min = sum;
else if (sum < min)
min = sum;
}
printf("Minimum Sum = %d",min);
}
А вот на Паскале не могу написать это же. Помогите решить, то завтра зачет, а у меня большие проблемы. Заранее спасибо.