43 / 13 / 1
Регистрация: 10.03.2010
Сообщений: 54
|
|
1 | |
Использовать или нет динамический массив21.06.2012, 03:14. Показов 1741. Ответов 14
Метки нет (Все метки)
Столкнулся с проблемой, читая учебник КЕРНИГАНА И РИЧИ. Читал главу про символьные массивы. (До этого в книге ничего не было про динамические массивы) А после главы, в упражнениях, задача - написать программу, которая запишет в массив и выведет на выходе самую длинную из вводимых с клавы строку, при условии, что нет изначального ограничения на длину массива(строки). Раньше всегда думал, что без динамического массива так нельзя. Может я ошибаюсь??
0
|
21.06.2012, 03:14 | |
Ответы с готовыми решениями:
14
Что лучше использовать библиотеку <vector> или динамический массив Как определить, инициализирован динамический массив или нет? Дан массив с 50 именами, используя сортировку, преобразовать его в динамический массив и использовать бинарный поиск Какой IP лучше использовать для сервера — статический или динамический? |
62 / 62 / 11
Регистрация: 16.10.2011
Сообщений: 200
|
|
21.06.2012, 03:21 | 2 |
Вообще да, такие задачи решаются через динамический массив. Конечно можно и не через динамический, но это уже надо либо ковырять буфер ввода, чтобы определить кол-во введенных данных.
1
|
43 / 13 / 1
Регистрация: 10.03.2010
Сообщений: 54
|
|
21.06.2012, 03:49 [ТС] | 3 |
Догадываюсь о чем ты)) но в том то и состоит мое удивление, что в их учебнике по сути это предлагают сделать самыми базовыми методами.
Вот вкратце то, что рассказано до этой задачи: (скопировал оглавление) Глава 1. Обзор языка 1.1 Начнем, пожалуй 1.2 Переменные и арифметические выражения 1.3 Инструкция for 1.4 Именованные константы 1.5 Ввод-вывод символов 1.5.1 Копирование файла 1.5.2 Подсчет символов 1.5.3 Подсчет строк 1.5.4 Подсчет слов 1.6 Массивы 1.7 Функции 1.8 Аргументы. Вызов по значению 1.9 Символьные массивы
0
|
Заблокирован
|
|
21.06.2012, 04:50 | 4 |
1
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
21.06.2012, 07:46 | 5 |
Ну определил ты длину строки, расковыряв ввод. И что? Длину то ты получил в рантайме и она всё равно может превысить зарезервированную в десигне. Это только через динамический. Что такого, что это первая задача на динамические массивы? Строки = самые простые формулировки учебных задач именно на динамические массивы окажутся самыми простыми из всех возможных на динамические массивы и не надо объяснять, почему нельзя резервировать длину массива. По остальным темам в реальных проектах большинство массивов будут динамическими, а все массивы в учебных задачах статическими, а по строкам наоборот можно ввести ограничение на длину многих строк в реальных проектах, но такое ограничение невозможно втиснуть в учебную задачу. Так что не удивительно, что именно задача на строки оказалась первой среди задач на динамические именно массивы. К остальным динамическим контейнерам это не относится, так как они в любом случае строятся на указателях и статических аналогов не имеют. А вот массив страдает тем, что в любом отборе отличников из массива структур можно зарезервировать длину массива по максимально разрешённой численности студенческой группы, школьного класса, или по максимуму из этих двух ограничений. И любому первоклашке ясно, что миллиард народу на одной практике присутствовать всё равно не сможет и один учитель качественно провести практику с такой группой тоже не в состоянии. Мало вероятно, что будет реально востребован проект с собственной подсистемой хранения, рассчитанную именно на одну студенческую группу без возможности запихать туда же список избирателей с признаком брал ли каждый избиратель открепительное удостоверение и вторым признаком голосовал ли он уже, список товаров на складе оптового торговца с указанием конкретных полок, или базу по дефектам и проведённым ремонтам по всем экземплярам автомобилей определённого изготовителя. А вот учебная задача будет по студенческой группе, если уж по складу, то маленькому аля чулан, а если по избирателям, то из одного подъезда, а не по всему участку, тем более городу. Библиотеку в учебной задаче заменяет книжная полка, реестр продукции автозавода превращается в реестр автопарка небольшой службы такси с десятком водителей. Все задачи загоняются в решабельные за одно занятие рамки с учётом времени ввода входных данных, даже если он файловый, то надо ещё сформировать сам файл, а в результате появляются ограничения на размер массива. Но это не относится к строкам, включая члены нескалярных элементов тех самых статических массивов, считать символы в строке будут как раз разработчики текстовых процессоров, а не студенты, а весь текст можно представить динамическим массивом статических строк, а не наоборот, как это было в учебной модели библиотеки.
Добавлено через 2 минуты Ты математик, или спец по функциональному программированию? Если нет, то забудь про аргументы, функции-подпрограммы, в отличие от математических, аргументов не имеют, а имеют параметры.
1
|
43 / 13 / 1
Регистрация: 10.03.2010
Сообщений: 54
|
|
21.06.2012, 11:49 [ТС] | 6 |
параметр переменная из списка параметров, заключенного в круглые скобки и заданного в определении функции, а аргумент - значение, используемое при обращении к функции. Так что все верно.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
22.06.2012, 13:05 | 8 |
MrGluck,не припомню, чтобы Керниган с Ричи писали книги по плюсам...
0
|
43 / 13 / 1
Регистрация: 10.03.2010
Сообщений: 54
|
|
22.06.2012, 16:00 [ТС] | 9 |
Да сорри. Я сначала перепутал тему. Но в корне это дело не меняет.
0
|
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
|
|
22.06.2012, 16:12 | 10 |
параметр и аргумент это синонимы
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
22.06.2012, 16:41 | 11 |
OstapBender, фактические параметры и аргументы - да. Формальные параметры - нет.
0
|
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
|
|
22.06.2012, 16:56 | 12 |
фактические/формальные параметры/аргументы
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
22.06.2012, 17:07 | 13 |
OstapBender, аргументы называют также фактическими параметрами (то, что передаётся в функцию). Формальные параметры - переменные, перечисленные в заголовке функции, принимающие при её вызове значения аргументов/фактических параметров.
0
|
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
|
|
22.06.2012, 23:42 | 14 |
я не буду спорить ...
это все равно что видеть разницу между словами процедура и функция (в С) ИМХО
0
|
silent_1991
|
24.06.2012, 13:01
Использовать или нет динамический массив
#15
|
Не по теме: OstapBender, всё это, конечно, буквоедство, но в С есть только функции :D
0
|
24.06.2012, 13:01 | |
Как можно использовать двумерный динамический массив в си++ через функцию Использовать профиль, или нет? 1ps.ru - использовать или нет? Использовать LIMIT или нет? Использовать ref или нет? Не могу уничтожить все нечетные элементы. При этом использовать динамический массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |