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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2010, 11:01   #11
flexin
Пользователь
 
Регистрация: 13.12.2009
Сообщений: 15
По умолчанию

Код:
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main()
{
clrscr();
int s=0,n,a[100][100];
int i,j;
int k,l;
int f = 0;
printf("Razmernost kvadratnoj matricy NxN=");
scanf("%d",&n);
 for (i=0; i<n; i++)
 {
   for (j=0; j<n; j++)
   {
	scanf("%d",&a[i][j]);
   }
 }
//Перебор элементов матрицы и поиск первого положительного
for(i=0;i<n;i++)
 {
   for(j=0;j<n;j++)
	 if(a[i][j]>0)
	 {
//Запись координат следующего за первым положительным элементом
	 k=i+1;
	 l=j+1;
	 f = 1;
	 break;
	 }
   if (f) break;
  }
//Суммирование последующих элементов
for(i=k;i<n;i++)
  {
	for(j=l;j<n;j++)

	  s=s+abs(a[i][j]);

  }

printf("\nSuma modylej =%d",s);
}
ПРИМЕР
При введении:
n=2
и элементов
-1 2 3 4
Сумма модулей: 0

При введении:
n=2
и элементов
1 2 3 4
Сумма модулей: 4

Последний раз редактировалось flexin; 16.01.2010 в 11:09.
flexin вне форума Ответить с цитированием
Старый 16.01.2010, 11:12   #12
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Ну так это же правильно, во всяком случае по Вашему определению элемента, расположенного после первого положительного
-1 2
3 4
k = 2, l = 3, сумма 0
1 2
3 4
k = 2, l = 2, сумма 4
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 16.01.2010, 11:20   #13
flexin
Пользователь
 
Регистрация: 13.12.2009
Сообщений: 15
По умолчанию

Да! Вы правы.. ошибка с определением координат последующего элемента((

если имеем матрицу
-1 2
3 4

То в моем понимании, прога наткнувшись на первый положительный элемент (в данном случае 2), должна суммировать модули всех последующих (т.е. 3 и 4)

Последний раз редактировалось flexin; 16.01.2010 в 11:24.
flexin вне форума Ответить с цитированием
Старый 16.01.2010, 11:26   #14
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Вот с этого-то и надо было начинать, в первоначальном варианте у Вас получались те элементы, которые правее и ниже одновременно
Ну тогда просто цикл подсчёта суммы перепишите. Соответственно в нём надо по j идти с 0 до n, а по i также. Ну и не забудьте добавить остаток той строки, в которой собственно элемент был найден
В принципе можно сделать всё это проще, с учётом адресной арифметики, но наверно лучше сейчас этим не грузить
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 16.01.2010, 11:41   #15
flexin
Пользователь
 
Регистрация: 13.12.2009
Сообщений: 15
По умолчанию

Спасибо громадное!!! Не знаю как и благодарить!!!
Переписала следующим образом
Цитата:
//Суммирование последующих элементов
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)

s=s+abs(a[i][j]);
}
for(i=0;i<k;i++)
{
for(j=0;j<l;j++)
s1=s1+abs(a[i][j]);
}
sum=s-s1;

printf("\nSuma modyliv =%d",sum);
}
flexin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сумма элементов матрицы DenProx Помощь студентам 2 19.12.2009 14:49
сумма максимальных значений элементов столбцов матрицы motaro Помощь студентам 2 26.11.2009 19:00
Сумма до мax положительного элемента массива Отчаявшаяся Помощь студентам 2 16.11.2009 19:42
Сумма элементов из заштрихованной области матрицы pasha92 Помощь студентам 3 16.11.2009 18:54
Сумма четных элементов матрицы. Произведение элементов 3-го столбца. Минимальный элемент матрицы. renovare Помощь студентам 2 03.07.2009 21:13