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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2013, 22:32   #1
Екатерина23
 
Регистрация: 05.12.2013
Сообщений: 7
По умолчанию Задача в visual basic: Дан массив ненулевых целых чисел размера N. Проверить, образуют ли его элементы геометрическую прогрессию.

Дан массив ненулевых целых чисел размера N. Проверить, образуют ли его элементы геометрическую прогрессию. Если образуют, то вывести знаменатель прогрессии, если нет - вывести 0
Екатерина23 вне форума Ответить с цитированием
Старый 11.01.2014, 21:03   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Вариант с округлением

ЭВМ иногда делит неточно, поэтому для надёжности использовал округление.

Запуск в документах Word по F5. Во втором добавил проверку чередования минусов (иначе программу легко обмануть).
Изображения
Тип файла: jpg ЧтоЭтоЗаРяд.jpg (47.7 Кб, 162 просмотров)
Вложения
Тип файла: doc ПрогрессияНоКакая!.doc (35.5 Кб, 29 просмотров)
Тип файла: doc ПрогрессияЛиЭто-F5.doc (36.5 Кб, 20 просмотров)

Последний раз редактировалось Sasha_Smirnov; 12.01.2014 в 19:27. Причина: документ с исправленной программой.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 15.01.2014, 00:47   #3
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

На самом деле и вторую (хоть и не легко) можно обмануть, например массивом
Код:
a = Array(1, 300, 90, 27000, 810000, 24300000)
Вообще задача тонкая:
Цитата:
Сообщение от Екатерина23 Посмотреть сообщение
Проверить, образуют ли его элементы геометрическую прогрессию. Если образуют, то вывести знаменатель прогрессии, если нет - вывести 0
Так посмотреть — элементы множества, например, {2, 18, 6} — образуют! Но уже комбинаторика, 10-й класс...

Делить каждый элемент, кроме 1-го, на предыдущий мне кажется ненадёжным (а вам?), поэтому попробую так: перемножать их попарно от краёв к середине: если всё равно — прогрессия геометрическая.
Вложения
Тип файла: doc ЗубДаюПрогрессия!.doc (31.5 Кб, 19 просмотров)

Последний раз редактировалось Sasha_Smirnov; 15.01.2014 в 05:36. Причина: новый код.
Sasha_Smirnov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны четыре вещественных числа, проверить: образуют ли данные числа геометрическую прогрессию (язык C) Даша(S) Помощь студентам 6 04.04.2015 23:43
Дан числовой массив А, состоящий из n целых чисел . Если все элементы массива являютя чётными, то увеличьте положительные элементы Pantiks Паскаль, Turbo Pascal, PascalABC.NET 1 24.10.2013 16:59
Дан массив x целых чисел. Упорядочить элементы, стоящие на четных местах по невозрастанию, а на нечетных – по неубыванию. NuclearMurder Помощь студентам 0 11.11.2012 17:43
Дан массив из N целых чисел. Получить из него массив чисел по модулю меньших 10 и отсортировать его(язык си++) mitja-zakelidis Помощь студентам 2 15.03.2012 03:10
Дан массив целых чисел P ,состоящий из 30 элементов.Заполнить его с клавиатуры Darkin Паскаль, Turbo Pascal, PascalABC.NET 4 26.05.2011 17:37