Программа для нахождения суммы двух максимальных и двух минимальных чисел. Выводит только сумму минимальных и одно максимальное. В чём ошибка?
var min1,min2,max1,max2,x,n,i,s,s1:integer;
begin
min1:=30000; max1:=0; min2:=30000; max2:=0; i:=1;
read(n);
while i<=n do
begin
read(x);
if (xmin1) then min2:=x;
if xmax2) and (xmin1) then max2:=x;
if x>max2
then max1:=x; s1:=max1+max2;
i:=i+1;
end;
write('сумма min ',s, ' сумма max ', s1 )
end.
Другие языки программирования и технологии
Где ошибка в программе PascalABC.net
var i, j, t, n: integer;
a: array [1..100] of integer;
begin
write ('n = ');
readln (n);
for i:=1 to n do
begin
write ('число №', i:2,' = ');
readln (a[i]);
end;
for i:=1 to n do
for j:=1 to n do
if a[i] < a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
writeln ('сумма 2-х минимальных чисел = ', a[1]+a[2]);
writeln ('сумма 2-х максимальных чисел = ', a[n-1]+a[n]);
end.
a: array [1..100] of integer;
begin
write ('n = ');
readln (n);
for i:=1 to n do
begin
write ('число №', i:2,' = ');
readln (a[i]);
end;
for i:=1 to n do
for j:=1 to n do
if a[i] < a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
writeln ('сумма 2-х минимальных чисел = ', a[1]+a[2]);
writeln ('сумма 2-х максимальных чисел = ', a[n-1]+a[n]);
end.
У тебя s нигде не вычисляется.
для осправления ошибок надо отладить программу
if (xmin1) then min2:=x;
if xmax2) and (xmin1) then max2:=x;
^^^ ээээм что это? ^^^
var min1, min2, max1, max2, x, n, i, sumMin, sumMax:integer;
begin
//MaxInt это системная константа содержащая максимально возможное значение для типа Integer
// -MaxInt - 1 это способ получить наибольшее минимальное значение для Integer и т. к. 0 тоже положительное число то отрицательных на одно больше
min1 := MaxInt; min2 := min1;
max1 := -MaxInt - 1; max2 := max1;
i := 0;
read(n);
while i < n do begin
read(x);
if (min1 > x) then begin min2 := min1; min1 := x; end;
if (max1 < x) then begin max2 := min1; max1 := x; end;
i := i + 1;
end;
sumMin := min1 + min2; sumMax := max1 + max2;
writeln('сумма min ',sumMin, ' сумма max ', sumMax);
end.
if xmax2) and (xmin1) then max2:=x;
^^^ ээээм что это? ^^^
var min1, min2, max1, max2, x, n, i, sumMin, sumMax:integer;
begin
//MaxInt это системная константа содержащая максимально возможное значение для типа Integer
// -MaxInt - 1 это способ получить наибольшее минимальное значение для Integer и т. к. 0 тоже положительное число то отрицательных на одно больше
min1 := MaxInt; min2 := min1;
max1 := -MaxInt - 1; max2 := max1;
i := 0;
read(n);
while i < n do begin
read(x);
if (min1 > x) then begin min2 := min1; min1 := x; end;
if (max1 < x) then begin max2 := min1; max1 := x; end;
i := i + 1;
end;
sumMin := min1 + min2; sumMax := max1 + max2;
writeln('сумма min ',sumMin, ' сумма max ', sumMax);
end.
Похожие вопросы
- Как создать компьютерного червя на PascalABC.NET и на других языках программирования или опишите структуру червя.
- Подскажите пожалуйста, какая ошибка в программе на Pascal ABC.NET?
- PascalABC.NET Графика и анимация простейший уровень, не хочет выполняться процедура, (помогите новичку)
- PascalABC.NET Графика, движение объекта после нажатия клавиши
- чем отличается Delphi 7 от PascalABC.net ???
- Хочу задать вопрос по множествам PascalABC.NET
- pascalabc.net все функцеи Напишите пожалуйста все функции Пример sqrt(x )
- Задача на PascalABC.NET. Помогите с решением, очень прошу!
- Нужна очень задача решеная по паскалю! PascalABC.NET
- Pascal PascalABC net и Turbo Pascal какая между ними разница? Вообщем какая, для написания програм разница большая??
var min1, min2, max1, max2, x, n, i, sumMin, sumMax:integer;
begin
min1 := MaxInt; min2 := min1;
max1 := -MaxInt - 1; max2 := max1;
i := 0;
read(n);
if (n < 4) then begin writeln('Количество чисел должно быть не менее 4-х'); exit; end; //exit это принудительное прерывание выполнения текущей функции
while i < n do begin
read(x);
if (min1 > x) then begin min2 := min1; min1 := x; end
else if (min2 > x) then min2 := x;
if (max1 < x) then begin max2 := max1; max1 := x; end
else if (max2 < x) then max2 := x;
i := i + 1;
end;
sumMin := min1 + min2; sumMax := max1 + max2;
writ
var min1, min2, max1, max2, x, n, i, sumMin, sumMax : integer;
begin
min1 := MaxInt; min2 := min1;
max1 := -MaxInt - 1; max2 := max1;
i := 0;
write('Введите количество цифр : '); read(n);
if (n < 4) then begin writeln('Количество цифр должно быть не менее 4! Выход...'); exit; end; //exit это принудительное прерывание выполнения текущей функции
while i < n do begin
write('Введите число [', i, '] : '); read(x);
if (min1 > x) then begin min2 := min1; min1 := x; end
else if (min2 > x) then min2 := x;
if (max1 < x) then begin max2 := max1; max1 := x; end
else if (max2 < x) then max2 := x;
i := i + 1;
end;
sumMin := min1 + min2; sumMax := max1 + max2;
writeln('Сумма минимумов: ',sumMin, '; Сумма максимумов: ', sumMax);
end.