Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Ёрик
46 / 46 / 2
Регистрация: 07.01.2009
Сообщений: 298
#1

Выделение памяти под определенное количество массивов - C++

07.01.2009, 18:59. Просмотров 1061. Ответов 4
Метки нет (Все метки)

Задача такая.
В первой строке во входном потоке число N(1<=N<=100).Следующие N строк содержат символьные массивы. Названия состоят только из строчных латинских букв и цифр. Длина названий не превосходит 30 символов.Нужно найти одинаковые массивы.(на языке С)
Напр.:
3
mother
father
brother

Как сравнить все элементы массивов я знаю.Только не пойму,как для них выделять память,у нас же определенное кол-во массивов и оно может быть разным,причем нужно выделять память для всех массивов,на случай если ни один массив не будет схожим.
Кусок программы:
C++
1
2
3
4
5
6
    scanf("%u",&N);
    for (i = 0; i < N; i++)
    {
        char arr[30];
                      gets(arr);
    }
Вот так 100% неправильно,т.к. выделяется массив с одинаковым именем,а мне нужно,чтобы с разным именем.Без разницы,динамический или статический,хотя не понимаю,как можно здесь выделять память динамически,если мы не знаем сколько элементов в массиве(если fgets,то тоже не получится).Помогите,пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2009, 18:59     Выделение памяти под определенное количество массивов
Посмотрите здесь:

C++ Выделение памяти под переменную
Выделение памяти под масссив C++
Выделение памяти под матрицу C++
Выделение памяти под wchar_t C++
C++ Выделение памяти под структуру
Выделение памяти под указатель C++
Выделение памяти под массивы C++
Выделение памяти под структуру C++
Выделение памяти под структуру C++
Выделение памяти под матрицу C++
C++ Выделение памяти под матрицу
Выделение памяти под указатель C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6473 / 2248 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
07.01.2009, 19:59     Выделение памяти под определенное количество массивов #2
Почему бы не выделять память динамически и не сделать так:
char **array_of_strings;
и поехал...
Ёрик
46 / 46 / 2
Регистрация: 07.01.2009
Сообщений: 298
07.01.2009, 20:28  [ТС]     Выделение памяти под определенное количество массивов #3
Цитата Сообщение от Vourhey Посмотреть сообщение
Почему бы не выделять память динамически и не сделать так:
char **array_of_strings;
и поехал...
не совсем понял... туплю..массив указателей?Поподробнее
Vourhey
Почетный модератор
6473 / 2248 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
07.01.2009, 20:31     Выделение памяти под определенное количество массивов #4
да массив указателей.
C++
1
2
3
char **s = (char**)malloc(count*sizeof(char*));
*s = (char*)malloc(size);
*(s+1) = (char*)malloc(size2);
что-нибудь в таком роде. Или я неправильно понял вопрос. Читал по диагонали, времени мало )
Ёрик
46 / 46 / 2
Регистрация: 07.01.2009
Сообщений: 298
07.01.2009, 20:59  [ТС]     Выделение памяти под определенное количество массивов #5
а как мы размер то узнаем,чтобы выделять память динамически
*s = (char*)malloc(size);?
Нам он неизвестен?Строка может быть любой длины

Добавлено через 14 минут 57 секунд
подумал - все понял,спасибо за объяснение!
Yandex
Объявления
07.01.2009, 20:59     Выделение памяти под определенное количество массивов
Ответ Создать тему
Опции темы

Текущее время: 09:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru