Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Задача по информатике

Ответить
Настройки темы
VBA - Задача по информатике

Новый участник


Сообщения: 40
Благодарности: 0

Профиль | Отправить PM | Цитировать


Задание следующее: Создать проект, который определяет максимальное значение из введённых чисел. Количество чисел заранее неизвестно. Прошу помощи в решении задачи)

Отправлено: 18:24, 21-05-2009

 

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Числа вводятся и попадают в массив.
Потом последовательно каждый элемент массива сравнивается с некоторой переменной (изначально равна нулю, если не брать в расчёт, что максимальным числом может быть отрицательное). Если в массиве меньше - переходим к следующему элементу, если больше - записываем в эту переменную и идём дальше.
По окончании просмотра массива вывести число на экран.
Вам ведь нужен только алгоритм, а код сами желаете написать?

Отправлено: 18:56, 21-05-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 40
Благодарности: 0

Профиль | Отправить PM | Цитировать


а можете это в программном коде записать?

Отправлено: 19:13, 21-05-2009 | #3


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


А мне "отл" в зачётку пойдёт?)
Нет, я бейсик не знаю. К тому же, я не сторонник полного решения задач за других. Об этом есть намёк и в предыдущем сообщении.
Но могу на JavaScript'е написать:
Код: Выделить весь код
arr = [12, 47, 34, 28, 178, 38, 534, 232, 543]; // исходный массив со значениями
max = 0;
for (i = 0; i < arr.length; i++)
  {
  if (arr[i] > max)
     max = arr[i];
  }
alert(max);
Вот и всё.
Хотя наверняка в нём есть какой-нибудь метод "выбрать максимум из массива". Но вам же алгоритм надо проиллюстрировать, да и не знаю я того метода
Адаптируете под бейсик - хорошо. Нет - больше я ничем помочь не могу.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:30, 21-05-2009 | #4


Аватара для CyberDaemon

DOOMer


Сообщения: 3254
Благодарности: 438

Профиль | Отправить PM | Цитировать


Цитата Coutty:
Числа вводятся и попадают в массив. »
А если там стописяттыщмильёнов чисел? В задаче же не сказано, что их надо помнить все?

Первое введенное число принимаем за максимальное (присваиваем значение переменной).
Дальше в цикле:
Следующее введеное число сравниваем с переменной. Если оно больше - меняем значение переменной.
Повторяем до тех пор, пока вводятся числа.

Код на бейсике не скажу - не знаю.

-------
"640 K ought to be enough for anybody" Bill Gates, 1981

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:01, 21-05-2009 | #5


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Цитата CyberDaemon:
А если там стописяттыщмильёнов чисел? В задаче же не сказано, что их надо помнить все? »
Значит, по окончании ввода можно вывести сообщение: "Программа выполнила недопустимую операцию и будет закрыта". Кто проверит?)
А так-то да, этот алгоритм лучше. Тем более меньше кода будет.

Отправлено: 04:06, 22-05-2009 | #6


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


можно еще проверить способ с сортировкой массива (вдруг быстрее окажется)...

Отправлено: 07:14, 22-05-2009 | #7

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Цитата Sham:
проверить способ с сортировкой массива »
не окажется. Время сортировки N*Log(N), а время поиска максимума N
я и не знал что на js можно так просто массивы делать, всю жизнь через Array

Отправлено: 07:40, 22-05-2009 | #8


Аватара для Pliomera

Технолог


Сообщения: 819
Благодарности: 117

Профиль | Отправить PM | Цитировать


Цитата Triz:
определяет максимальное значение из введённых чисел »

Код: Выделить весь код
Max = 0
Do
Input x
If x > Max Then Max = x
Msgbox Max
Loop

Отправлено: 14:42, 24-05-2009 | #9


Аватара для CyberDaemon

DOOMer


Сообщения: 3254
Благодарности: 438

Профиль | Отправить PM | Цитировать


Цитата Pliomera:
Max = 0 »
Некорректно
-1
-100
-234
-1.234
Результат =0, а должно быть -1
Код: Выделить весь код
Input x
Max = x
Msgbox Max
Do
Input x
If x > Max Then Max = x
Msgbox Max
Loop
^^^Как-то так.
А как отсюда выйти?

-------
"640 K ought to be enough for anybody" Bill Gates, 1981


Отправлено: 21:49, 24-05-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Задача по информатике

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Помогите с вопросом по информатике пожалуйста :) Megacucumber Флейм 5 04-11-2009 16:44
C/C++ - Математическая задача pirojok750 Программирование и базы данных 19 03-10-2009 12:36
Теория - Задача ManHack Программирование и базы данных 4 23-01-2009 18:21
Delphi - Простая задача rim_muvies Программирование и базы данных 13 31-03-2008 13:44
Задача С++ papam Программирование и базы данных 1 28-11-2005 11:34




 
Переход