Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.120.159] |
|
Сообщ.
#1
,
|
|
|
вот задача:Ввести фаил F из 14 элементов.Определить в нем произведение элементов ,квадрат которых меньше 16
вот исходник var F:file of integer; A ,S,k: integer; begin cls; assign(F,'J:\F.dat'); rewrite(F); k:=0; while k<>5 do begin write(F,A); write('A-'); readln(A); k:=k+1; end; Close(F); S:=1; reset(F); while NOT EOF (F)do begin read (F,A); if a*a < 16 then S:=sa; end; Close (F); if S<>1 then writeln ('S=',s); end.[CODE=pas] |
Сообщ.
#2
,
|
|
|
if a*a < 16 then S:=sa; Этот код даже не компилируется. Где объявление переменной или функции sa? |
Сообщ.
#3
,
|
|
|
там я ошибся, там должно быть s:=s*a;
Добавлено проблема в том что он выдает s=0,а если вместо произведения искать сумму , то алгоритм работает, вот этого я не понимаю... |
Сообщ.
#4
,
|
|
|
Плохо, что я вижу отнюдь не рабочий код, а какую-то не компилирующуюся версию.
Смотри, что происходит при записи файла while k<>5 do begin write(F,A); <- записываем что-то в файл write('A-'); readln(A); <- а после записи в файл интересуемся: "А что надо было записать?" k:=k+1; end; |
Сообщ.
#5
,
|
|
|
спасибо, понял в чем ошибка!
|