Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 17.03.2014, 12:22   #1 (permalink)
ksenia78
Новичок
 
Регистрация: 17.03.2014
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задача о массиве

Здравствуйте,кто в этом разбирается?пожалуйста помогите решить!
В массиве все элементы, стоящие ниже и левее максимального элемента, заменить на минимальный элемент
ksenia78 вне форума   Ответить с цитированием

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

Посмотрите на эти темы, наверняка там уже есть нужные ответы

Поиск минимального значения в массиве
Массив. В квадратном массиве обменять верхний треугольник
В массиве А(12) вычислить произведение
Сортировка в одномерном массиве
Паскаль АВС, сортировка в одномерном массиве без функций и операций
В одномерном массиве, состоящем из n вещественных элементов, вычислить

Старый 17.03.2014, 15:03   #2 (permalink)
poiu
Member
 
Регистрация: 05.03.2014
Сообщений: 200
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 834
По умолчанию

как то так. давно было =)
логично, что не все случаи будут работать. в частности если максимум в первом столбике.

var
mas: array [0..9, 0..9] of integer;
i, j: integer;
min, max, pos_i, pos_j: integer;
begin
// формируем массив
randomize;
for i:= 0 to 9 do
for j:= 0 to 9 do mas[i, j]:= random(1000);

// ищем минимальное и максимальное значения, попутно выводя массив на экран
min:= mas[0, 0];
max:= mas[0, 0];
writeln('Vhodnoi massiv:');
for i:= 0 to 9 do
begin
for j:= 0 to 9 do
begin
if mas[i, j] < min then min:= mas[i, j];
if mas[i, j] > max then
begin
max:= mas[i, j];
pos_i:= i;
pos_j:= j;
end;
Write(mas[i, j]:4);
end;
writeln;
end;

// делаем замену на минимальное значение слева и снизу от максимума
for i:= pos_i+1 to 9 do
for j:= 0 to pos_j-1 do mas[i, j]:= min;

// выводим на экран значение минимума, максимума и позицию максимума
writeln('min= ', min);
writeln('pos_i= ', pos_i);
writeln('pos_j= ', pos_j);
writeln('max= ', max);

// выводим массив после замены на минимум
writeln('Vihodnoi massiv:');
for i:= 0 to 9 do
begin
for j:= 0 to 9 do Write(mas[i, j]:4);
writeln;
end;
readln;
end.
poiu вне форума   Ответить с цитированием
Старый 17.03.2014, 15:09   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от poiu Посмотреть сообщение
логично, что не все случаи будут работать. в частности если максимум в первом столбике.
Ну почему же - всё правильно, и работать будет в любом случае. Просто если максимум в первом столбце, то массив не изменится.

Другое дело, что я не стал бы ни под каким видом оказывать "помощь" подобной барышне - и задачка детская, и изложено крайне неряшливо: не указан даже язык программирования. Между прочим, им вполне может оказаться не Паскаль а, например, СИ. Или Ява. В общем, "вы тут давайте, а я поскакала, и некогда мне тут с вами валандаться!".
Впрочем, тут решает каждый за себя - я имею в виду оказывать или нет подобную, с позволения сказать, "помощь".
Vladimir_S вне форума   Ответить с цитированием
Старый 17.03.2014, 15:26   #4 (permalink)
poiu
Member
 
Регистрация: 05.03.2014
Сообщений: 200
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 834
По умолчанию

а я решил сделать как есть))) как спросили так и ответил)))
а то в прошлый раз когда я спрашивал подробности, то получил предупреждение от модера за вопросы и просьбу писать по делу. вот по делу и написал.
хотя согласен, что задача школьного уровня и не стоит траты времени...
poiu вне форума   Ответить с цитированием
Старый 17.03.2014, 16:10   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

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

Яндекс

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

Опции темы
Опции просмотра

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

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




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

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