Ежедневно незнайка учит половину от суммы выученных за два предыдущих дня иностранных слов и еще два слова. знайка считает, что силы незнайки иссякнут, когда нужно будет выучить 50 слов в день. написать программу, которая определяет когда иссякнут силы незнайки, если в первые два дня он выучил по
одному слову. написать программу в паскаль. 9 класс.
N = 10;
var
A: array[1..N] of integer;
function Fun: integer;
var
i, M: integer;
begin
writeln('Введите число M=');
readln(M);
for i := 1 to N do
if A[i] = M then Fun := i;
end;
procedure CreateMassive;
var
i: integer;
begin
for i := 1 to N do
begin
A[i] := Random(199) - 100;
write(A[i],' ');
end;
Writeln;
end;
begin
CreateMassive;
Writeln(Fun);
end.
вот вариант исправления который работает, хотя конечно не факт что он работает как там кто-то задумывал)))
не понятно было назначение функции Fun потому она делает поиск номера элемента равного М
а вообще глобальные переменные это зло. Так что проектирование тут в корне не верно
f: file of integer;
i, n, x, t, k, max: integer;
s: integer;
begin
randomize;
write('n=');
readln(n);
assign(f, 'numbers.dat');
rewrite(f);
max := -1;
for i := 1 to n do
begin
x := random(4800) + 20;
write(f, x);
write(x, ' ');
if x > max then max := x;
end;
writeln;
seek(f, 0);
k := 0;
while not eof(f) do
begin
read(f, x);
t := x;
s := 0;
while t > 0 do
begin
s := s + sqr(t mod 10);
t := t div 10;
end;
if x mod s = 0 then k := k + 1;
if x > max - 50 then write(x, ' ');
end;
writeln;
writeln(k);
end.