Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
43 / 13 / 1
Регистрация: 10.03.2010
Сообщений: 54
1

Использовать или нет динамический массив

21.06.2012, 03:14. Показов 1741. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Столкнулся с проблемой, читая учебник КЕРНИГАНА И РИЧИ. Читал главу про символьные массивы. (До этого в книге ничего не было про динамические массивы) А после главы, в упражнениях, задача - написать программу, которая запишет в массив и выведет на выходе самую длинную из вводимых с клавы строку, при условии, что нет изначального ограничения на длину массива(строки). Раньше всегда думал, что без динамического массива так нельзя. Может я ошибаюсь??
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2012, 03:14
Ответы с готовыми решениями:

Что лучше использовать библиотеку <vector> или динамический массив
Что лучше использовать библиотеку &lt;vector&gt; или динамический массив

Как определить, инициализирован динамический массив или нет?
Собственно вопрос в теме: как определить на VBA инициализирован динамический массив или нет, пуст...

Дан массив с 50 именами, используя сортировку, преобразовать его в динамический массив и использовать бинарный поиск
Помогите пожалуйста! Дан массив с 50 именами, используя сортировку, преобразовать его в...

Какой IP лучше использовать для сервера — статический или динамический?
добрый день!для windows server 2012 r2 standart какой лучше использовать статистический ip или...

14
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
http://clc-wiki.net/wiki/K%26R... xercise_16
1
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
21.06.2012, 07:46 5
Ну определил ты длину строки, расковыряв ввод. И что? Длину то ты получил в рантайме и она всё равно может превысить зарезервированную в десигне. Это только через динамический. Что такого, что это первая задача на динамические массивы? Строки = самые простые формулировки учебных задач именно на динамические массивы окажутся самыми простыми из всех возможных на динамические массивы и не надо объяснять, почему нельзя резервировать длину массива. По остальным темам в реальных проектах большинство массивов будут динамическими, а все массивы в учебных задачах статическими, а по строкам наоборот можно ввести ограничение на длину многих строк в реальных проектах, но такое ограничение невозможно втиснуть в учебную задачу. Так что не удивительно, что именно задача на строки оказалась первой среди задач на динамические именно массивы. К остальным динамическим контейнерам это не относится, так как они в любом случае строятся на указателях и статических аналогов не имеют. А вот массив страдает тем, что в любом отборе отличников из массива структур можно зарезервировать длину массива по максимально разрешённой численности студенческой группы, школьного класса, или по максимуму из этих двух ограничений. И любому первоклашке ясно, что миллиард народу на одной практике присутствовать всё равно не сможет и один учитель качественно провести практику с такой группой тоже не в состоянии. Мало вероятно, что будет реально востребован проект с собственной подсистемой хранения, рассчитанную именно на одну студенческую группу без возможности запихать туда же список избирателей с признаком брал ли каждый избиратель открепительное удостоверение и вторым признаком голосовал ли он уже, список товаров на складе оптового торговца с указанием конкретных полок, или базу по дефектам и проведённым ремонтам по всем экземплярам автомобилей определённого изготовителя. А вот учебная задача будет по студенческой группе, если уж по складу, то маленькому аля чулан, а если по избирателям, то из одного подъезда, а не по всему участку, тем более городу. Библиотеку в учебной задаче заменяет книжная полка, реестр продукции автозавода превращается в реестр автопарка небольшой службы такси с десятком водителей. Все задачи загоняются в решабельные за одно занятие рамки с учётом времени ввода входных данных, даже если он файловый, то надо ещё сформировать сам файл, а в результате появляются ограничения на размер массива. Но это не относится к строкам, включая члены нескалярных элементов тех самых статических массивов, считать символы в строке будут как раз разработчики текстовых процессоров, а не студенты, а весь текст можно представить динамическим массивом статических строк, а не наоборот, как это было в учебной модели библиотеки.

Добавлено через 2 минуты
Цитата Сообщение от Юсуф Посмотреть сообщение
1.8 Аргументы. Вызов по значению
Ты математик, или спец по функциональному программированию? Если нет, то забудь про аргументы, функции-подпрограммы, в отличие от математических, аргументов не имеют, а имеют параметры.
1
43 / 13 / 1
Регистрация: 10.03.2010
Сообщений: 54
21.06.2012, 11:49  [ТС] 6
Цитата Сообщение от taras atavin Посмотреть сообщение

Добавлено через 2 минуты
Ты математик, или спец по функциональному программированию? Если нет, то забудь про аргументы, функции-подпрограммы, в отличие от математических, аргументов не имеют, а имеют параметры.
параметр переменная из списка параметров, заключенного в круглые скобки и заданного в определении функции, а аргумент - значение, используемое при обращении к функции. Так что все верно.
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
21.06.2012, 13:59 7
Задача легче всего решается через std::string и std::istringstream.
1
Эксперт С++
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2012, 13:01

Как можно использовать двумерный динамический массив в си++ через функцию
Коротко говоря мне бы осознание синтаксиса чтоб я понимал. Вот есть двумерный динамический массив...

Использовать профиль, или нет?
Суть - каждый зарегистрированный юзер при регистрации указывает некие данные, все пользователи(в...

1ps.ru - использовать или нет?
Здравствуйте. Меня очень интересует вопрос, с какой стороны себя проявила 1ps.ru, если Вы когда-то...

Использовать LIMIT или нет?
Всем доброго дня. Пролистывал на досуге книгу по MySQL и нашёл такую фразу: Использование LIMT...

Использовать ref или нет?
Здравствуйте. Мне в программе необходимо довольно часто передавать и обрабатывать массивы байтов...

Не могу уничтожить все нечетные элементы. При этом использовать динамический массив
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;windows.h&gt; using namespace std; void Reshape(int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru