В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

Пишет "ошибка времени выполнения: system.indexoutofrangeexception: индекс находился вне границ массива." и не выводит отсортированный массив. что делать? //ввести кол-во эл-тов n одномерного массива целого типа и сгенерировать массив в диапазоне [-70,80]. требуется: //1 вывести сгенерированный массив в отдельной строке, найти max и min эл-ты и поменять их местами //2 отсортировать полученный массив по убыванию и вывести в 3-ей строке program dz1; var x: array[1..100]of integer; i,max,min,n,t,buf,k: integer; begin write('введите кол-во эл-тов n: '); readln(n); for i: =1 to n do begin x[i]: =random(106)-35; end; writeln('вывод сген. массива'); for i: =1 to n do write (x[i],' '); writeln; writeln; //1 writeln('поиск max: '); max: =x[1]; for i: =2 to n do if (maxx[i])then begin min: =x[i]; end; writeln('min=',min); writeln('max=',max); t: =x[max]; x[max]: =x[min]; x[min]: =t; //2 for i: =1 to n-1 do begin for k: =1 to n-1 do begin if x[k] < x[k+1] then begin buf: =x[k]; x[k]: =x[k+1]; x[k+1]: =buf; end; end; end; writeln; writeln('массив отсортирован'); for k: =1 to n do write(x[k],' '); readln; for k: =1 to n-1 do read(x[n]); readln(x[n]); end. заранее .

Показать ответ
Ответ:
ulyanasims
ulyanasims
08.10.2020 21:02
Program dz1;
var
x:array[1..100]of integer;
i,max,min,n,t,buf,k:integer;
begin

write('Введите кол-во эл-тов n:');readln(n);

for i:=1 to n do x[i]:=random(151)-70;
writeln('вывод сген. массива');
for i:=1 to n do write (x[i],' ');
writeln;
writeln;

//1
writeln('Поиск max и min: ');
max:=1; min:=1;
for i:=2 to n do
begin
if (x[max]<x[i])then max:=i;
if (x[min]>x[i])then min:=i;
end;
writeln('min=',x[min]);
writeln('max=',x[max]);
t:=x[max];
x[max]:=x[min];
x[min]:=t;

//2
for i:=1 to n-1 do
 for k:=1 to n-i do
  if x[k] < x[k+1] then 
begin
 buf:=x[k];
 x[k]:=x[k+1];
 x[k+1]:=buf;
end;
writeln;
writeln('Массив отсортирован');

for i:=1 to n do write(x[i],' ');
writeln;
end.

Пример:
Введите кол-во эл-тов n:15
вывод сген. массива
32 -38 -35 53 -50 31 66 16 5 28 64 -11 20 -43 -1

Поиск max и min:
min=-50
max=66

Массив отсортирован
66 64 53 32 31 28 20 16 5 -1 -11 -35 -38 -43 -50
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота