Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Побочная диагональ

Автор: 18192123 4.06.2007 19:46

Дана матрица А(55). Найти суммы элементов тех столбцов, в которых элемент побочной диагонали равен нулю.

В чём у меня ошибка? Не все элементы складываются....


#include <STDIO.H>
#include <CONIO.H>
const int n = 5;
void main ()
{
clrscr();
int a[n] [n], i, j, counts[n];
FILE *fp;
printf ("\n\n Vvedite elementi matrichi, ih dolshno bit' 25!\n");
for (i = 0; i < n; i++)

for (j = 0; j <n; j++)
scanf ("%d" , & a[i] [j]);

fp = fopen("out3-25.txt", "w");
fprintf (fp, "\n Isshodnai matrica: \n");
for (i = 0; i <n; i++)
{
for (j = 0; j < n; j++)
fprintf (fp, "%3d ", a[i] [j]);
fprintf (fp, "\n");
}
fprintf (fp, "=============================================\n");

int sum = 0;
for (j = 0; j < n; j++)

for (i = 0; i < n; i++)
if (a[i][n-i-1] == 0)
sum+= a[i][j];


fprintf (fp, "\n sum = %d", sum);
fclose(fp);
printf("Dly prosmotra rezyl'tatov raboti programi otkroi'te fail OUT3-25.TXT \n v standartnom kataloge!");
}





Автор: volvo 4.06.2007 20:03

 int sum = 0;

for (j = 0; j < n; j++)
if(!a[n-j-1][j]) // Проверяем элемент побочной диагонали СТОЛБЦА j
for (i = 0; i < n; i++) // и если он - нулевой, то проходим по всем строкам и считаем сумму столбца.
sum += a[i][j];


Автор: 18192123 4.06.2007 20:46

Цитата(volvo @ 4.06.2007 17:03) *

 int sum = 0;

for (j = 0; j < n; j++)
if(!a[n-j-1][j]) // Проверяем элемент побочной диагонали СТОЛБЦА j
for (i = 0; i < n; i++) // и если он - нулевой, то проходим по всем строкам и считаем сумму столбца.
sum += a[i][j];



Ясно, спасибо!