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

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

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

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

07.01.2009, 18:59. Просмотров 1076. Ответов 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++
Всем привет. float **AllocMat(int Rows, int Colomns) { float ** Mat; try { Mat = new...

Выделение памяти под масссив - C++
Как занести данные в двумерный массив с клавиатуры? пользователь должен сам ввести размерность

Выделение памяти под указатель - C++
Здравствуйте форумчане,у меня возник маленький вопрос:) Почему sizeof(char) дает результат в 1 байт, а sizeof(char*) ) дает 4 байта.Как...

Выделение памяти под матрицу - C++
Существует такой класс: class matr{ public: double **m; // адрес матрицы int mi, my; //стобцы, строки //функции ...

Выделение памяти под переменную - C++
Драсте, уважаемые. Мне надо выделить переменную на 25мег, чтоб в ней хранить все просчёты выполненые программой. (Пробовал в BCB6 и в BCW...

Выделение памяти под матрицу - C++
Всем доброго времени суток! Есть такая проблема, у меня есть свой класс Cell. Мне нужно создать матрицу объектов этого типа и выделить под...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6477 / 2252 / 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
Почетный модератор
6477 / 2252 / 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);
что-нибудь в таком роде. Или я неправильно понял вопрос. Читал по диагонали, времени мало )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2009, 20:59     Выделение памяти под определенное количество массивов
Еще ссылки по теме:

Выделение памяти под структуры - C++
Когда я только знакомился с кодингом на С(С++) я скачивал с инета очень много всякой литературы... Так вот... Недавно я начал заново...

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

Выделение памяти под wchar_t - C++
вот такой код: char *str=new char; strcpy(str,&quot;stroka&quot;); int l=strlen(str); wchar_t *wstr=new wchar_t; mbstowcs(wstr,str,l); ...

Выделение памяти под структуру - C++
enrollee *p=new enrollee; после работы delete p; выбивает ошибку. неправильно очищаю???


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

Или воспользуйтесь поиском по форуму:
Ёрик
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     Выделение памяти под определенное количество массивов
Ответ Создать тему
Опции темы

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