![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Дан одномерный целочисленный массив. Составить программу для решения следующих задач, используя сначала процедуры (функции) с циклами, а затем рекурсивные процедуры (функции):
Найти сумму элементов массива, являющихся точными квадратами Не могу найти ошибку из-за которой ничего не выводит Код:
uses SysUtils; type mas=array[1..10] of integer; procedure Vvod(var m:mas); var i:integer; begin for i:=1 to 10 do begin write('m[',i,']='); readln(m[i]); end; end; procedure vivod(m:mas); var i: integer; begin for i:=1 to 10 do write(m[i],' '); end; procedure su1(m:mas;var s1:integer); var i,n:integer; begin s1:=0; for i:=1 to 100 do begin for n:=1 to 100 do begin if m[i]=sqr(n) then s1:=s1+m[i]; end; end; end; procedure su2(m:mas;var s2:integer); var i,k:integer; begin s2:=0; if i>0 then begin if m[i]=sqr(k) then s2:=s2+m[i]; end; su2(m,s2); readln; end; var i,s1,s2:integer; m:mas; begin Vvod(m); vivod(m); su1(m,s1); su2(m,s2); writeln(s1); writeln(s2); readln; end. lmikle: пользуемся тегами!!! |
#2
|
|||
|
|||
![]() 1. А где директива {$APPTYPE CONSOLE}?
2. Процедура su1. У тебя массив до скольких? А цикл по нему до скольких? 3. Процедура su2. Где инициализация i? Или там вообще в ифе неправильно условие. |
#3
|
|||
|
|||
![]() У вас абсолютно неверная рекурсивная процедура. В ней объявляется переменная i и происходит обращение к i-му элементу массива. А чему равно значение i в это время? Да чему угодно.
|
#4
|
|||
|
|||
![]() Директива есть, просто тут не напечатала.. массив одномерный целочисленный от 1 до 10
да ошибка вроде бы в рекурсии, я не знаю как её исправить... ![]() ![]() Помогите исправить рекурсию..?!!!!!!!! Последний раз редактировалось Asira, 12.12.2009 в 14:01. |