Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 19.02.2007, 00:45   #1 (permalink)
sim-sim
Member
 
Регистрация: 31.01.2007
Сообщений: 54
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

пожалуйста помогите написать программу обработки двухмерных массивов (нахождение максимального элемента ,минимального ,суммы,произведения)
sim-sim вне форума   Ответить с цитированием

Старый 19.02.2007, 00:45
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Внимательно прочитайте содержимое этих тем

Массивы
Массивы
Массивы

Старый 22.02.2007, 11:30   #2 (permalink)
DENNIS
Member
 
Регистрация: 18.12.2006
Сообщений: 34
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Ну примерно так
смотри:
int mas[s1][s2];
int max=mas[0][0];
for(int i=0;i<s1;i++)
{
int now_max=mas[i][0];
for(int j=0;j<s2;j++)
{
if(now_max<mas[i][j])
now_max=mas[i][j];
}
if(now_max>max)
max=now_max;
}
max - будет самое большим со всего массива
now_max -самое большое в строке mas[i][];
минимального аналогично, только знаки поменяй;
Сумма :
int sum=0;
for(int i=0;i<s1;i++)
{
for(int j=0;j<s2;j++)
sum+=mas[i][j];
}
вот и всё!!
если у тебя несколько массивов можеш найтив первом, например максимальное, затем
во втором, после чего сравнить результат, и т.д.
DENNIS вне форума   Ответить с цитированием
Старый 27.05.2007, 22:01   #3 (permalink)
Treloha
Новичок
 
Регистрация: 27.05.2007
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

никак не могу разобратся с матрицами. необходимо написать программу:"В каждом столбце матрицы D(8,10) вместо максимального элемента записать 1."ПОМОГИТЕ, что-то крутится в голове, а докрутится никак не может.
Treloha вне форума   Ответить с цитированием
Старый 29.05.2007, 15:18   #4 (permalink)
BoT
Member
 
Регистрация: 07.09.2006
Сообщений: 118
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Насколько я понимаю, матрица=массив.
делается так:

temp=0
for i1=1 to 8
for i2=1 to 10
if D(i1,i2)>temp then
temp=D(i1,i2)
x=i1
y=i2
endif
next
next

d(x,y)=1

ВсЁ! как работает:
шарим массив по линии 1 (i1) на все 10 значений
если какое-либо значение стало выше прежней максималки, заносим это значение в память (для дальнейшего сравнения) и запоминаем координаты (х и у) точки матрицы, где нашли новый максимум
Затем, когда просканим все 8 линий массива (представь, что это сетка из 8-ми линий по горизонтали и 10 по вертикали, а точки пересечения содержат значения матрицы) на все 10 вглубь и нашли абсолютный максимум, открываем массив в х и у и присваиваем этой точке еденицу.

Вуаля!
BoT вне форума   Ответить с цитированием
Старый 29.05.2007, 15:25   #5 (permalink)
Le}{a
Специалист
 
Аватар для Le}{a
 
Регистрация: 06.03.2007
Сообщений: 2,743
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 608
По умолчанию

покупай журнал Хакер, там на каждом диске выкладывают описание, исходники примеры по массивам, графам, и всякой нужной хрени :)
Le}{a вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 30.05.2007, 01:06   #6 (permalink)
Treloha
Новичок
 
Регистрация: 27.05.2007
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо всем вам огромное.
Le}{a
тебе тоже спасибо. посмотрю что за журнальчик
Treloha вне форума   Ответить с цитированием
Старый 30.05.2007, 01:27   #7 (permalink)
Treloha
Новичок
 
Регистрация: 27.05.2007
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

BoT
поправочка. надо максимальный элемент найти в каждом столбце.
Treloha вне форума   Ответить с цитированием
Старый 19.12.2007, 19:29   #8 (permalink)
katarina
Новичок
 
Регистрация: 19.12.2007
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

помогите пожалуйста решить задачу: найти сумму всех элементов двухмерного массова А больших значений числа R
katarina вне форума   Ответить с цитированием
Старый 19.12.2007, 19:37   #9 (permalink)
katarina
Новичок
 
Регистрация: 19.12.2007
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

помогите пожалуйста решить задачу: найти сумму всех элементов двухмерного массива А больших значений числа R
буду вам очень признательна
katarina вне форума   Ответить с цитированием
Старый 22.12.2007, 11:00   #10 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

BoT
небольшая поправка:
Цитата:
Сообщение от Treloha
В каждом столбце матрицы D(8,10) вместо максимального элемента записать 1
поэтому:
temp=0
for i1=1 to 8
for i2=1 to 10
if D(i1,i2)>temp then
temp=D(i1,i2)
x=i1
y=i2
endif
next
d(x,y)=1
next
то есть находим максимальный элемент в каждом столбце, заменяем его на 1.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 15:31.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.