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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2013, 17:44   #1
регинa
 
Регистрация: 19.12.2012
Сообщений: 5
По умолчанию массив (си)

Дан двумерный массив (N*N)(N=12). Найти среднее арифметическое между максимальными элементами массива , находящимися слева и справа от главной диагонали.
регинa вне форума Ответить с цитированием
Старый 28.01.2013, 17:48   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Нашёл. Дальше что, командир?
Abstraction вне форума Ответить с цитированием
Старый 28.01.2013, 18:44   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
...
for(int i=0;i<12;i++)
 for(int j=0;j<12;j++)
  if(j>i) max[0]=(a[i][j]>max[0]?a[i][j]:max[0]; 
  else max[1]=(a[i][j]>max[1]?a[i][j]:max[1];
printf("%f",(max[0]+max[1])/2);
...
Где a - массив
max массив из двух элементов для сбора экстремумов.

Подходит идея?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.01.2013, 21:54   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
max[0] = max[1] = 0;
...
for(int i=0;i<12;i++)
 for(int j=0;j<12;j++)
  if(j>i) max[0]=(a[i][j]>max[0]?a[i][j]:max[0]); 
  else max[1]=(a[i][j]>max[1]?a[i][j]:max[1]);
printf("%f",(max[0]+max[1])/2);
...
Идея вообще отличная. Нужно взять на вооружение. Экстремумы предварительно обнуляются, на сколько я понимаю.[
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 29.01.2013, 11:30   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Идея вообще отличная. Нужно взять на вооружение. Экстремумы предварительно обнуляются, на сколько я понимаю.[
Если обнуляются, при всех отрицательных элементах будем иметь неправильный ответ.
Код:
max[0] = a[0][1]; max[1] = a[1][0];
for(int i=0;i<N;++i)
 for(int j=0;j<N;++j)
  max[j>i?0:1]=a[i][j]>max[j>i?0:1]?a[i][j]:max[j>i?0:1];
Ну, чтобы было совсем понятно.
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} Nickolai47 Помощь студентам 5 16.12.2012 14:51
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) econ Помощь студентам 1 29.05.2011 22:02