|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
27.11.2016, 08:13 | #1 (permalink) |
Member
Регистрация: 12.11.2016
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите исправить ошибки. Паскаль
Const n = 10; Var i, j, t, v_min, v_max, i_max, max, i_min, min : Integer; vector : Array [1..n] Of Integer; Begin Randomize; 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; 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); i := i_min; j := i_max; while i<j do begin t := vector[i]; vector[i]:=vector[n-i+1]; vector[n-i+1]:=vector[j]; vector[j] := t; end; WriteLn; WriteLn('Полученный вектор:'); For i:=1 To n Do Write(vector[i]:5); WriteLn; End. |
27.11.2016, 08:13 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Пожалуйста, обратите внимание - это похожие на вашу темы Помогите исправить ошибку в программе. Паскаль Помогите пожалуйста исправить задачу на строки, Паскаль |
27.11.2016, 09:43 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Извольте:
Код:
Const n = 10; Var i,t,v_min,v_max,i_max,max,i_min,min,i1,i2: Integer; vector : Array [1..n] Of Integer; Begin Randomize; Writeln('Input data:'); Writeln('n= ',n); Write('v_min= '); ReadLn(v_min); Write('v_max= '); ReadLn(v_max); Writeln('Initial vector:'); for i:=1 to n do begin vector[i]:=Random(v_max-v_min + 1) + v_min; Write(vector[i]:5); end; 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; if min=max then Writeln('All elements are equal!') else begin WriteLn; Writeln('Output data:'); WriteLn('max= ', max, ' i_max= ', i_max); WriteLn('min= ', min, ' i_min= ', i_min); if i_min<i_max then begin i1:=i_min+1; i2:=i_max-1; end else begin i1:=i_max+1; i2:=i_min-1; end; for i:=i1 to ((i1+i2) div 2) do begin t:=vector[i]; vector[i]:=vector[i2-(i-i1)]; vector[i2-(i-i1)]:=t; end; WriteLn('Output vector:'); for i:=1 to n do Write(vector[i]:5); end; ReadLn End. |
27.11.2016, 10:30 | #3 (permalink) |
Member
Регистрация: 12.11.2016
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
спасибо большое
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|