Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2011, 14:24   #1
Паркер
Пользователь
 
Аватар для Паркер
 
Регистрация: 11.08.2011
Сообщений: 23
По умолчанию Сумма элементов матрицы

Помогите найти ошибку в коде.
Вот задание :Заданная квадратная матрица целых чисел порядка n. Будем рассматривать только те элементы, которые расположены на строках, которые начинаются с отрицательного элемента. С помощью функции, найти сумму элементов, расположенных ниже главной диагонали.

Код:
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
# define M 4
int summa (int i, int arr[M][M])
{ 	int j,Summa;	
		Summa=0;
		for(j=0;j<i;j++)
				Summa=Summa+arr[i][j];	
				return Summa;
}
void main()
{int n,k,l,arr[M][M],Sum;

for(k=0;k<M;k++)
			for(l=0;l<M;l++)
				arr[k][l]=0;
for(k=0;k<M;k++)
			for(l=0;l<M;l++)
printf("arr[%d,%d]=%d\n",k,l,arr[k][l]);
	printf("Vvedite n\n");
	scanf("%d",&n);
	printf("Vvedite %d elementov\n",n*n);
	for(k=0;k<n;k++)
			for(l=0;l<n;l++)
				{printf("arr[%d,%d]=",k,l);
					scanf("%d",&arr[k][l]);
					printf("\n");};
Sum=0;
l=0;
for(k=1;k>l;l++)
	for(l=0;l<k;l++)
		if(arr[k][0]<=0)
			Sum=Sum+summa(k,arr);
	printf("Summa=%d",Sum);
 getch();
}
Программа считает сумму только первого отрицательного элемента, стоящего ниже главной диагонали, а дальше прекращает счет.
Как исправить (и что исправить) что бы компилятор пробежался по всем элементам?
Паркер вне форума Ответить с цитированием
Старый 25.11.2011, 14:54   #2
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Код:
for(k=1;k>l;l++)
	for(l=0;l<k;l++)
вот он, вот он - копипаст моей мечты)

зачем два вложенных цикла? тут достаточно одного
Код:
for(k=1;k<n;k++)
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 25.11.2011, 14:57   #3
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Код:
l=0;
for(k=1;k>l;l++)
	for(l=0;l<k;l++)
Интересно, и что именно подразумевалось достичь этим вложенным циклом?
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 25.11.2011, 15:19   #4
Паркер
Пользователь
 
Аватар для Паркер
 
Регистрация: 11.08.2011
Сообщений: 23
По умолчанию

Zer0,о,большое спасибо!
Точно, не заметила "копипаста Вашей мечты)"
Паркер вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сумма элементов строк матрицы.Pascal Lols Помощь студентам 1 04.06.2011 16:36
C++: сумма и произведение элементов матрицы Blondy Помощь студентам 13 12.04.2011 21:33
Сумма элементов матрицы DenProx Помощь студентам 2 19.12.2009 14:49
Сумма элементов из заштрихованной области матрицы pasha92 Помощь студентам 3 16.11.2009 18:54
Сумма четных элементов матрицы. Произведение элементов 3-го столбца. Минимальный элемент матрицы. renovare Помощь студентам 2 03.07.2009 21:13