В целочисленном векторе 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:=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; 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:=1 To n Do {вывод на экран полученного вектора} Write(vector[i]:5); WriteLn; End.
вот и компиляция задачи
TarasBer
20.12.2011 13:23
Ага, если максимальных и минимальных несколько, то надо брать первое вхождение.
Короче, тебе надо сделать то же самое, но вместо обмена двух значений местами вот как:
i := i_min; j := i_max; while i<j do begin t := vector[i]; vector[i]:=vector[j]; vector[j] := t; inc(i); dec(j); end;
Владимир89
22.12.2011 13:30
Спасибо большое очень помог
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.