![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
InFuz |
![]()
Сообщение
#1
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент ![]() |
Задача: Удалить из массива числа, которые являются полным квадратом и имеют нечетную сумму цифр.
Условие: Массив целоцисленный от -32000 до 32000. (ни каких real (IMG:style_emoticons/default/smile.gif) ). Массив вводится в другой процедуре и есть M:mas, N-длина массива. Моя процедура которая чот не батрачит )) procedure Work (var M:mas; N:integer); var i,b,sym,ost:integer; f:boolean; begin for i:=1 to N do begin f:=true; sym:=0; ost:=0; b:=m[i]; while b=0 do begin ost:=b mod 10; sym:=sym + ost; b:=b div 10; end; if sym mod 2=0 then f:=false; if (f=true) and (sqrt(m[i]) in integer) then m[i]:=m[i+1]; end; end; |
![]() ![]() |
Julia |
![]()
Сообщение
#2
|
Ассистент ![]() ![]() ![]() ![]() Группа: Julia Сообщений: 593 Регистрация: 23.2.2007 Город: Улан-Удэ Учебное заведение: БГУ Вы: преподаватель ![]() |
1) Nmax у вас использовалась при описании типа mas. Переменная G как раз к этому типу и относится. И задавайте цикл хоть до 10000000, больше, чем Nmax чисел, у вас в массиве не будет.
То, что при описании вы заменили константу на 16, ничего не исправило. 2) Плохо, что не видите причин. Оттого и цикл с предусловием используете неправильно. У меня нет сейчас времени объяснить почему, возможно вечером. А еще лучше если вы сами догадаетесь. Текст программы тоже только вечером могу выложить. |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 26.5.2025, 0:11 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru