CLS
DIM c(100), maxim(10), minim(10)
PRINT "massiv a(60)";
n = 60
GOSUB 1
PRINT "massiv b(80)";
n = 80
GOSUB 1
PRINT "massiv c(100)";
n = 100
GOSUB 1
END
1 :
PRINT
FOR i = 1 TO n
c(i) = INT(RND * 500 - 250)
IF i MOD 10 = 0 THEN
PRINT USING "#####"; c(i); : PRINT
ELSE
PRINT USING "#####"; c(i);
END IF
NEXT i
max = c(1)
min = c(1)
FOR i = 2 TO n
IF i MOD 10 <> 0 THEN
IF c(i) > max THEN max = c(i)
IF c(i) < min THEN min = c(i)
ELSE
IF c(i) > max THEN max = c(i)
IF c(i) < min THEN min = c(i)
j = i / 10
maxim(j) = max
minim(j) = min
PRINT : PRINT "stroka"; j; "max="; maxim(j); ,
PRINT " stroka"; j; "min="; minim(j);
IF i < n THEN
max = c(i + 1)
min = c(i + 1)
END IF
END IF
NEXT i
PRINT : PRINT
RETURN
Помогите перевести код в Паскаль
з.ы. Сделать с подпрограммой нужно
Собственно говоря вот текст задачи:
В массиве А(60), В(80) и С(100) найти максимум и минимум значения в каждом десятке элементов сформировать отдельные массивы и распечатать их и заданные массивы.
Код в QBasic:
Код:
Мне утверждают, что код верен, но если проверять его, то там не формируются новые массивы.Имхо.
И мой код в Pascal:
Код:
program ind3;
uses crt;
var i, max,min: integer;
procedure mass(k:integer);
var a: array [1..100] of integer;
begin
for i := 1 to k do begin
a:=random(500)-250;
If i mod 10 = 0 then writeln(a:5);
If i mod 10 <> 0 then write(a:5);
end;
max := a;
min:=a;
For i := 1 to k do begin
If i mod 10 <> 0 then If a> max then max:=a;
If i mod 10 <> 0 then If a < min then min:=a;
end;
writeln (' max=',max);
writeln(' min=',min);
end;
begin
clrscr;
writeln;
writeln(' a(60)');
mass(60);
writeln;
writeln(' b(80)');
mass(80);
writeln;
writeln(' c(100)');
mass(100);
end.
uses crt;
var i, max,min: integer;
procedure mass(k:integer);
var a: array [1..100] of integer;
begin
for i := 1 to k do begin
a:=random(500)-250;
If i mod 10 = 0 then writeln(a:5);
If i mod 10 <> 0 then write(a:5);
end;
max := a;
min:=a;
For i := 1 to k do begin
If i mod 10 <> 0 then If a> max then max:=a;
If i mod 10 <> 0 then If a < min then min:=a;
end;
writeln (' max=',max);
writeln(' min=',min);
end;
begin
clrscr;
writeln;
writeln(' a(60)');
mass(60);
writeln;
writeln(' b(80)');
mass(80);
writeln;
writeln(' c(100)');
mass(100);
end.
Обращаюсь к Вам, так как паскаль не изучал, учу Сишарп и очень им доволен.
Для того что бы работала функция random нужно активировать генератор случайных чисел.Перед циклом где ты заполняешь массив напиши Randomize;
а в бэйсике вроде RANDOMIZE TIMER, тогда при каждом запуске числа будут разными
не правильно поняли, мне нужно еще сформировать массивы новые из минимумов и максимумов, рандомы и рандомайзы я знаю