В целочисленном векторе vector n найти минимальный и максимальный элементы. Перевернуть элементы вектора, расположенные между ними (выполнить “поплавок”).
For i:=1 To n Do {заполнение вектора случайными числами} vector[i]:=Random(v_max-v_min + 1) + v_min;
WriteLn; WriteLn('Исходный вектор:'); For i:=1 To n Do {вывод на экран исходного вектора} Write(vector[i]:5); WriteLn;
max:= vector[1]; {пока макс элемент – первый элемент вектора} i_max:= 1; min:= vector[1]; {пока мин элемент – первый элемент вектора} i_min:= 1;
For i:=2 To n Do {поиск начинаем со второго элемента} Begin
If (vector[i] > max) Then {если очередной элемент больше} {текущего максимального} Begin max := vector[i]; {то максимальным элементом} i_max := i; {становится очередной элемент} {вектора} End;
If (vector[i] < min) Then {если очередной элемент меньше} {текущего минимального} Begin min := vector[i]; {то минимальным элементом} i_min := i; {становится очередной элемент} {вектора} End;
vector[i_max]:=min; {меняем местами макс и мин элементы} vector[i_min]:=max; {в векторе}
WriteLn; WriteLn('Полученный вектор:'); For i:=1 To n Do {вывод на экран полученного вектора} Write(vector[i]:5); WriteLn;
End.
TarasBer
15.12.2011 14:24
Блин вы запарили. Во-первых, используй тег code=pas! Во-вторых, какой в жопу bmp, вы про другие форматы знаете вообще, и про то, что сеть не резиновая?
Короче, исправляй, только потом, может быть, буду говорить, что делать.
TarasBer
16.12.2011 18:20
А, теперь jpg. Получше, но тоже отвратно. Ну почему никто не знает про формат png, которыей и разводов не оставляет, и сжимает отлично? Уже же у половины населения винда-семёрка стоит, у которой пеинт по умолчанию в ПНГ сохраняет, так откуда же, ОТКУДА до сих пор берутся бмпшники и жпгешники?
Krjuger
17.12.2011 2:14
Меню->Сохранить как-> blabla bla.bmp))))))
-TarasBer-
17.12.2011 15:50
Цитата(Krjuger @ 16.12.2011 22:14)
Меню->Сохранить как-> blabla bla.bmp))))))
Ну да, упорные дятлы всегда пробьются.
Владимир89
19.12.2011 7:36
а сейчас как?
TarasBer
19.12.2011 13:34
Во, теперь нормально. В общем, по-прежнему висит вопрос: что делать, если максимальных элементов несколько? Код из собщения номер три я не читал, потому что он не отформатирован и вне тега code=pas.
Владимир89
20.12.2011 8:10
Program Variant_0;
Uses WinCrt;
Const n = 10; {задание размера вектора именованной константой}Var
i, v_min, v_max, i_max, max, i_min, min : Integer;
vector : Array [1..n] Of Integer;
Begin
Randomize; {запуск генератора случайных чисел}
WriteLn('Лабораторная работа №6_1');
WriteLn('Вариант №0');
WriteLn('ИС-11-1');
WriteLn('Пупкин Василий');
WriteLn;
WriteLn('Задайте диапазон случайных чисел');
Write(‘v_min=’);
ReadLn(v_min);
Write(‘v_max=’);
ReadLn(v_max);
For i:=1To n Do{заполнение вектора случайными числами}
vector[i]:=Random(v_max-v_min + 1) + v_min;
WriteLn;
WriteLn('Исходный вектор:');
For i:=1To n Do{вывод на экран исходного вектора}
Write(vector[i]:5);
WriteLn;
max:= vector[1]; {пока макс элемент – первый элемент вектора}
i_max:= 1;
min:= vector[1]; {пока мин элемент – первый элемент вектора}
i_min:= 1;
For i:=2To n Do{поиск начинаем со второго элемента}BeginIf (vector[i] > max) Then{если очередной элемент больше}{текущего максимального}Begin
max := vector[i]; {то максимальным элементом}
i_max := i; {становится очередной элемент}{вектора}End;
If (vector[i] < min) Then{если очередной элемент меньше}{текущего минимального}Begin
min := vector[i]; {то минимальным элементом}
i_min := i; {становится очередной элемент}{вектора}End;
End;
WriteLn;
WriteLn(‘max=’, max, ‘ i_max=’, i_max);
WriteLn(‘min=’, min, ‘ i_min=’, i_min);
vector[i_max]:=min; {меняем местами макс и мин элементы}
vector[i_min]:=max; {в векторе}
WriteLn;
WriteLn('Полученный вектор:');
For i:=1To n Do{вывод на экран полученного вектора}
Write(vector[i]:5);
WriteLn;
End.
вот и компиляция задачи
TarasBer
20.12.2011 13:23
Ага, если максимальных и минимальных несколько, то надо брать первое вхождение.
Короче, тебе надо сделать то же самое, но вместо обмена двух значений местами вот как:
i := i_min;
j := i_max;
while i<j dobegin
t := vector[i];
vector[i]:=vector[j];
vector[j] := t;
inc(i);
dec(j);
end;
Владимир89
22.12.2011 13:30
Спасибо большое очень помог
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.