Turbo Pascal

Tepesh

МЕЕЕЕЕЕД
Пишет "тайп мис тач" там нада мод тошо интегер тип
 
A

AkeL.php

Guest
Помогите найти ошибку. Задача - вычислить минимальные элементы массивов. Использовать функцию.
program lab2mod2;
uses crt;
type mas=array[1..5] of real;
var
a,b,c:mas;
f:text;
l,l1:real;
procedure vvod(var c:mas; k:integer);
var
i:integer;
begin
for i:=1 to k do
read(f,c);
end;


function Mmin(x:mas;n:integer):real;
var
i:integer;
min:real;

begin
min:=x[1];
for i:=2 to n do
begin
if x < min then
min:=x;
end;


end;



begin
assign(f, 'C:\dn.txt');
reset(f);
vvod(a,5);
vvod(b,4);
close(f);
l:=Mmin(a,3);
l1:=Mmin(b,3);
writeln(l:2:0,'|', l1:2:0);

end.

dn.txt
 

BAlex

New Member
begin
assign(f, 'C:\dn.txt');
reset(f);
vvod(a,5);
vvod(b,4);
close(f);
l:=Mmin(a,3);
l1:=Mmin(b,3);
writeln(l:2:0,'|', l1:2:0);
begin
assign(f, 'C:\dn.txt');
reset(f);
vvod(a,5);
reset(f); //или в текстовом файле добавь до девяти чисел, а то он в массив b два последних числа пишет ноли
vvod(b,4);
close(f);
l:=Mmin(a,3);
l1:=Mmin(b,3);
writeln(l:2:0,'|', l1:2:0);
 

Zak

Member
ужє сам разчихлил

S:=0;
I:=21;
repeat
S:=S+I;
I:=I+3;
until I>=100

вот можєт камуто пригодицо
Тебе правильно подсказали используй i mod 3 = 0, а то что ты написал называется не программирование а собственый рассчет :), если будит проверять толковый преподователь он программу не зачтет. У тебя в задании написано от 20 до 100, а ты просчитав береш сразу подстраиваеш результат под себя и начинаеш с 21-го. На то это и прогрмамма что она должна все за тебя сделать!

min:=20;
max:=100;
i:=min;
while(i>=min and i<=max)
begin
if (i mod 3 = 0) then s:=s+i;
inc(i);
end;

Что-то типа того, давно я уже на паскале не писал подзабыл многое.
 

Zak

Member
to AkeL:
создай файл dn.txt такого содержания:
45
4
3
2
1
56
24
34
5
Массив а считывает 1-е 5 чисел остальные 4 числа массив b.
В результате используя твою программу ты получиш результат: 3 и 24, а на самом деле должно быть 1 и 5. У тебя программа работает не со всеми элементами массива, а точнее она работает только с первыми тремя элементами. Исправ вот так:

begin
assign(f, 'C:\dn.txt');
reset(f);
vvod(a,5);
vvod(b,4);
close(f);
l:=Mmin(a,5);
l1:=Mmin(b,4);
writeln(l:2:0,'|', l1:2:0);
end.
 
как правильно просать отрезок чесел, которые беруться random:
х:=random(??????????? от 0 и до 20 ?????????)
 
Зверху