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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2012, 13:51   #1
dmitriy20104
Пользователь
 
Регистрация: 21.06.2012
Сообщений: 36
Вопрос Дана последовательность n целых чисел, определить есть ли среди них точные квадраты и вывести их на экран.

Здравствуйте, программисты! Не могли бы вы помочь с решением задачи? Я пытался её написать, но получилась куча ошибок, ещё и комп выкинул без сохранения.
Задача:
Дана последовательность n целых чисел: a1,a2,..,an. Определить, есть ли среди них точные квадраты и вывести их на экран.
Кому не трудно, помогите. Надо без массивов, но с циклами.
dmitriy20104 вне форума Ответить с цитированием
Старый 26.06.2012, 19:20   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

в лоб с массивом и циклом:
Код:
for i := 0 to n-1 do
  if (a[i] mod Trunc(Sqrt(a[i])) = 0) then WriteLn(a[i]);
Вам осталось вместо фора сделать вайл и ввод/чтение числа вместо элемента масива.
p51x вне форума Ответить с цитированием
Старый 26.06.2012, 20:42   #3
ARudik
Пользователь
 
Аватар для ARudik
 
Регистрация: 16.06.2012
Сообщений: 18
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
в лоб с массивом и циклом:
Код:
for i := 0 to n-1 do
  if (a[i] mod Trunc(Sqrt(a[i])) = 0) then WriteLn(a[i]);
Вам осталось вместо фора сделать вайл и ввод/чтение числа вместо элемента масива.
можно вместо массива использовать string
ARudik вне форума Ответить с цитированием
Старый 27.06.2012, 08:47   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от ARudik
можно вместо массива использовать string
Мне лично непонятно... Поясните, пожалуйста, что Вы под этим имеете в виду?
Как строка здесь может помочь?

Тут можно вводить числа в цикле от 1 до N, тут же обрабатывать и тогда можно обойтись вообще без массива.


Цитата:
Сообщение от p51x
Код:
 if (a[i] mod Trunc(Sqrt(a[i])) = 0) then WriteLn(a[i]);
p51x, эту формулу Вы прямо здесь сочинили, на форуме и нигде не использовали, надеюсь?..
Дело в том, что это НЕПРАВИЛЬНОЕ решение. если обрезанный корень числа является делителем этого числа, это отнюдь не означает, что число является квадратом!
иллюстрирую ошибку примером:
Код:
var a : integer;
begin
  a := 8;
  if (a mod Trunc(Sqrt(a)) = 0) 
    then WriteLn('Точный квадрат')
    else WriteLn('Не подходит!');
  Readln;
end.
я бы рекомендовал не мудрить и проверить, что обрезанный корень, возведённый в квадрат равен данному число.
вот так примерно:
Код:
writeLn('Введите число чисел N: ');
readln(n);
for i:=1 to N do begin
   Write('Введите ',i,'-е число: ');
   Readln(a);
   if sqr(Trunc(Sqrt(a))) = a then WriteLn(a,' - точный квадрат. ');
end;

Последний раз редактировалось Serge_Bliznykov; 27.06.2012 в 08:51.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.06.2012, 10:12   #5
dmitriy20104
Пользователь
 
Регистрация: 21.06.2012
Сообщений: 36
По умолчанию

Спасибо, ребята, помогли!
dmitriy20104 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дана последовательность n целых чисел, найти минимальный и максимальный члены последовательности и их номера dmitriy20104 Паскаль, Turbo Pascal, PascalABC.NET 1 22.06.2012 13:45
Дана последовательность из n целых чисел. Найти сумму нечетных элементов этой последовательности.С++ punkvalera Помощь студентам 1 13.05.2012 20:35
Дана последовательность вещественных чисел. каждая пара чисел задает границы отрезка. Найти количество целых чисел на отрезках 'studentka' Помощь студентам 6 30.11.2011 18:35
Дана последовательность целых чисел за которой следует 0.Найти номер максимального элемента в этой последовательности. Da Magic Помощь студентам 3 22.11.2011 23:08
Дана последовательность с n целых чисел. Найти количество елементов, кратных ее первому елементу Alex1991 Помощь студентам 3 10.03.2009 09:02