![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
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; |
![]() ![]() |
InFuz |
![]()
Сообщение
#2
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент ![]() |
procedure Work (var M:mas; N:integer); {М-сам массив, N-длина массива(вычисляется в д.р. процед.)}
var i,b,sym,ost:integer; f:boolean; {i-кол. повторов для for, b-буфер для m[i], sym-сумма цифр числа m[i], ost-цифры числа, f-"флажок" четносли или нечотности sym} begin {бэгин №1} for i:=1 to N do {открывает цикл for} begin f:=true; sym:=0; ost:=0; {бэгин №2,обнуляем все} b:=m[i]; {b присваеваем значение m[i]} while b=0 do {завадим "цикл внутри цикла" который считает сумму цифр в числе m[i]} begin {бэгин №3} ost:=b mod 10; {находим последнюю цифру в числе} sym:=sym + ost; {добавляеь ее к сумме всех чисел} b:=b div 10; {убираем эту цифру из числа} end; {енд №3} if sym mod 2=0 then f:=false; {если sym четное тогда флажок опустить} if (f=true) and (sqrt(m[i]) in integer) then m[i]:=m[i+1]; {весь косяк тут, не знаю как записать "если число является полным квадратом то его удалить"} end; {енд №2} end; {енд №1} отступы зделать нельзя, т.к. они автоматичесли убираются и текст выравнивается по левому краю ну, жду помощи?! P.S. если кто то пришол на этот форум чтобы заработать (IMG:style_emoticons/default/thumbdown.gif) , а не "помочь за спасибо" я думаю он не туда пришол. |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 27.5.2025, 22:42 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru