![]() |
Работа с динамическими массивами
Доброго времени суток! Ребята помогите разобраться с проблемой:
И так... Я создал цикл, в цикле создается динамический массив с определенным размером К, далее создается еще один цикл в котором буду заноситься значения в массив. Код:
for(i=0;i<k;i++){ т. к. имена будут разного размера.......... как это сделать....?? пробовал и delete и memset ничего не помогло:(((( |
John Harlamov, не совсем понятна такая конструкция, зачем в цикле каждый раз создавать один и тот же массив с разным размером? Так как каждый раз в каждом цикле будет происходить создание массива с размером +1 от прошлого, а в следующем цикле добавляться значения. После окончания цикла, у вас будет один массив с размером в конечное значение k
Тебе нужно использовать символьный массив указателей. И уточни чуть лучше вопрос. В общем, когда будешь заносить имена, воспользуйся функцией получения длины строки strlen() Код:
... |
Drongo, объясню все как есть....
Есть текстовый файл, в нем записано количество имен(до первой звездочки) и сами имена (после первой звездочки и до "!" ): 3*alex*john*din*! ...я хотел сделать так чтобы программа считывала из файла инфу о количестве имен и сами имена, имена заносила в структуру а количество имен присваивала переменной. Сделал по тому примеру который привел ранее, но вот беда.....если первое имя состоит из 4 букв а следующее имя из 3 букв, то последняя буква из первого имени останется во втором(( а вот как очистить массив(чтобы в нем не было букв) не знаю...... |
Цитата:
Код:
... |
Цитата:
|
John Harlamov, после каждого имени добавлять нуль символ.
Код:
if ((j = j + 1) < k) А будет ещё лучше, если этот символ предусмотреть изначально new char[k+1]. Тогда и при занулении проверять уже if ((j = j + 1) < k + 1). |
Время: 11:45. |
Время: 11:45.
© OSzone.net 2001-