Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2006, 12:48   #1
Radiofuck
 
Регистрация: 27.12.2006
Сообщений: 5
Восклицание Помогите с программой по массиву!!!Погораю!!!

Помогите, не могу здать зачет, реально погораю, если не здать до нового года могут отчислить.
Дан массив натуральных чисел A[1..50]. Вывести на экран индексы полных квадратов.
Radiofuck вне форума Ответить с цитированием
Старый 27.12.2006, 13:23   #2
Flash_
Пользователь
 
Аватар для Flash_
 
Регистрация: 19.12.2006
Сообщений: 91
По умолчанию

Если я правильно задачу понял, то вот так:
Код:
program z1;
var A,B: array[1..50] of integer;
      i,k: integer;
begin
k:=1;
writeln ('Введите элементы массива: ');
for i:=1 to 50 do
read a[i];
for i:=1 to 50 do
if sqrt(a[i]) = trunc(sqrt(a[i])) then begin
                                                b[k]:=i;
                                                k:=k+1;
                                                end;
 
write ('Индексы полных квадратов: ');
for i:=1 to k do
write (k,' ');
end.
Flash_ вне форума Ответить с цитированием
Старый 27.12.2006, 18:34   #3
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Пришлось переделать, т.к. программа написанная flash_ - выводит k от 1 и до кол-ва полных квадратов. Т.е. она не выводит индексы.

Код:
program z1;
var A: array[1..50] of integer;
      i: integer;
begin
writeln ('Введите элементы массива: ');
for i:=1 to 50 do
read a[i];
for i:=1 to 50 do
if sqrt(a[i]) = trunc(sqrt(a[i])) then write (i,' '); 
readln;
end.
zetrix вне форума Ответить с цитированием
Старый 27.12.2006, 19:11   #4
Flash_
Пользователь
 
Аватар для Flash_
 
Регистрация: 19.12.2006
Сообщений: 91
По умолчанию

Блин, действительно ошибка у меня. В предпоследней строчке имелось ввиду не k, a b[k]. Вот.
+ ещё одно.. Исходный массив должен быть real, a не integer. (Компилятор "не умеет" из целых чисел корни извлекать.)
Flash_ вне форума Ответить с цитированием
Старый 27.12.2006, 20:57   #5
Radiofuck
 
Регистрация: 27.12.2006
Сообщений: 5
По умолчанию

Гаспода, благодарю, все работает без всяких проблем.
Radiofuck вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с программой(( stan1k Фриланс 4 10.05.2008 16:16
помогите доделать задачу по массиву braza Паскаль, Turbo Pascal, PascalABC.NET 7 06.05.2008 09:37
помогите доделать(исправить) задачу по массиву braza Паскаль, Turbo Pascal, PascalABC.NET 2 29.04.2008 19:54
паскаль l помогите доделать задачу по одномерн массиву braza Паскаль, Turbo Pascal, PascalABC.NET 15 27.04.2008 14:33
помогите с программой LexusSPb Фриланс 2 04.09.2007 16:29