|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.04.2014, 16:07 | #1 |
Регистрация: 05.11.2013
Сообщений: 8
|
Массив
День добрый) Дали написать задачу: в целочисельном массиве [1..b] найти число, которое повторяется максимальное количество раз. Если чисел два - то одно из них. Собственно я написал но возникла такая проблемка: b никак не хочет обьявляться. Пробовал его обьявить со всеми переменными типа integer - никак не видит и выдает ошибку Неизвестный идентификатор.
"b" - это число, котороя я должен ввести сам с клавиатуры при запуске программы, тоесть это размерность массива, от 1 до b. Начало было примерно такое: program sasa; uses crt; var x:array [1..b] of integer y:real; i,j,max,s,b:integer; begin Может кто шарит в этом, поможет.. Как нужно обьявить b что бы прога заработала?.. Последний раз редактировалось DowJones; 23.04.2014 в 16:10. |
23.04.2014, 16:16 | #2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Смотрите, то, что Вы пытаетесь сделать, называется "динамические массивы". И тут всё упирается в то, какие есть ограничения на размер массива и какой у Вас компилятор Паскаля (в новых компиляторах FreePascal/Delphi есть нормальные динамические массивы, для старых нужного эффекта приходится добиваться более сложным путём. Подозреваю, что у Вас как раз второй случай, у Вас же старый TurboPascal ?) самые простые варианты, использовать статический массив вместо динамического. примерно так. если переменная b задана в условиях задачи. тогда: Код:
Тогда: Код:
есть и другие, более сложные способы решения задачи (например, использование указателей и динамическое выделение памяти). Но, думаю, что Вам и этих вариантов на первое время хватит... Последний раз редактировалось Serge_Bliznykov; 23.04.2014 в 16:22. |
|
23.04.2014, 16:18 | #3 |
Регистрация: 05.11.2013
Сообщений: 8
|
У меня старенький ТурбоПаскаль!)
|
23.04.2014, 16:26 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
я дописал свой пост...
|
23.04.2014, 16:30 | #5 |
Регистрация: 05.11.2013
Сообщений: 8
|
Да, спасибо большое. Попробую. второй вариант!)
|
24.04.2014, 11:48 | #6 |
Регистрация: 05.11.2013
Сообщений: 8
|
Блин сейчас на екзамене препод говорит что есть еще какой то вариант! Вывести именно b. Не задавая ей какое либо число вначале... Отзовитесь кто нибудь)
|
24.04.2014, 13:00 | #7 |
Lawful Evil
Участник клуба
Регистрация: 13.05.2008
Сообщений: 1,208
|
Пост №2, второй вариант. Задание размера массива изначально больше максимального.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c) |
24.04.2014, 13:35 | #8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
я так понял, что автор темы именно этот вариант и взял! НО! Можно и через указатели сделать. вот рабочий пример: Код:
а вот какого ответа от Вас преподаватель ожидал - трудно предположить. Всё, что угодно. Вплоть до использования связных динамических списков! Последний раз редактировалось Serge_Bliznykov; 24.04.2014 в 13:38. |
|
24.04.2014, 15:33 | #9 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
|
|
24.04.2014, 17:39 | #10 |
Регистрация: 05.11.2013
Сообщений: 8
|
Это у препода ТурбоПаскаль!)
Ребят всем спасибо!) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} | Nickolai47 | Помощь студентам | 5 | 16.12.2012 14:51 |
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны | Koksa | Помощь студентам | 0 | 10.10.2011 11:26 |
Запись координат в массив в реал тайм, Как записать координаты в массив | Dark19 | Visual C++ | 2 | 21.06.2011 18:45 |
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) | KARTER | Помощь студентам | 1 | 18.06.2011 19:58 |
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) | econ | Помощь студентам | 1 | 29.05.2011 22:02 |