• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Задача о массиве

ksenia78

Ученик
Регистрация
17 Мар 2014
Сообщения
1
Реакции
0
Баллы
0
Задача о массиве

Здравствуйте,кто в этом разбирается?пожалуйста помогите решить!
В массиве все элементы, стоящие ниже и левее максимального элемента, заменить на минимальный элемент
 
как то так. давно было =)
логично, что не все случаи будут работать. в частности если максимум в первом столбике.

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.
 
логично, что не все случаи будут работать. в частности если максимум в первом столбике.
Ну почему же - всё правильно, и работать будет в любом случае. Просто если максимум в первом столбце, то массив не изменится.

Другое дело, что я не стал бы ни под каким видом оказывать "помощь" подобной барышне - и задачка детская, и изложено крайне неряшливо: не указан даже язык программирования. Между прочим, им вполне может оказаться не Паскаль а, например, СИ. Или Ява. В общем, "вы тут давайте, а я поскакала, и некогда мне тут с вами валандаться!".
Впрочем, тут решает каждый за себя - я имею в виду оказывать или нет подобную, с позволения сказать, "помощь".
 
а я решил сделать как есть))) как спросили так и ответил)))
а то в прошлый раз когда я спрашивал подробности, то получил предупреждение от модера за вопросы и просьбу писать по делу. вот по делу и написал.
хотя согласен, что задача школьного уровня и не стоит траты времени...
 
а то в прошлый раз когда я спрашивал подробности, то получил предупреждение от модера за вопросы и просьбу писать по делу.
Ну, положим, не передергивайте: посмотрел я тему, о которой Вы пишете, так там несколько форма неподобающая: не столько запрос к топикстартеру на уточнение подробностей, сколько демонстрация собственной эрудиции. За то замечание и получили. Ладно, проехали. :)
 
Назад
Сверху