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

Не работает массив слов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ boolian http://www.cyberforum.ru/cpp-beginners/thread1058802.html
как используется этот оператор? и есть в нем польза и какая? также хотел спросить в циклах какова разница между, к примеру, ++а и а++?? Спасибо.
C++ Дана матрица A(n, n). Найти сумму элементов по каждому столбцу Помогите решить двухмерный массив: Дана матрица A(n, n). Найти сумму элементов по каждому столбцу. Буду благодарен)) Добавлено через 13 минут Хэлп)) http://www.cyberforum.ru/cpp-beginners/thread1058793.html
C++ ошибка в программе
Даны два массива. Массив А состоит из N элементов и отсортирован по возрастанию. Массив В состоит из М элементов и отсортирован по убыванию. Разработать программу для слияния этих массивов в...
Разработать класс MyString C++
Добрый вечер, необходимо создать переопределенный конструктор для создание строки из различных типов: int, double, char *, std::string. Спасибо.
C++ Двумерный динамический массив в функциях http://www.cyberforum.ru/cpp-beginners/thread1058773.html
Хочу создать отдельно в каждой функции создание массива и показ массива. но в итоге при использовании второй функции вылазит разные числа подскажите в чем проблема. Ниже код прикладываю. Заранее...
C++ Ошибка при компиляции Укажите пожалуйста на ошибку #include <iostream> #include <cstring> #include <cmath> using namespace std; class MyPoint { int x; подробнее

Показать сообщение отдельно
J0ker
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 37

Не работает массив слов - C++

27.12.2013, 17:47. Просмотров 152. Ответов 0
Метки (Все метки)

Я создаю массив слов.
C++
1
2
char **words;//массив слов
    int num=0;//номер слова
Потом создаю массив char, в котором будет храниться очередное слово
C++
1
2
3
char *word = new char[];//слово
    int count = 1;//кол-во слов
    int pos=0;//позиция указателя слова
Дальше инициализирую массив слов
C++
1
2
3
words = new char*[w];
    for (int j=0; j<w; j++)
        words[j]=new char[w];
Потом пробегаюсь по строке и ищу слова
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for(int i=0; str[i+1]!='\0'; i++)
    {
        if(str[i]==' ' && str[i+1]!=' ')
        {
            word[pos]='\0';
            words[num]=word;
            pos=0;
            num++;
            count++;
        }
        else if(str[i]!=' ')
        {
            word[pos]=str[i];
            pos++;
        }
    }
В конце записываю последнее слово
C++
1
2
3
words[num]=new char[pos];
    word[pos]='\0';
    words[num]=word;
И в момент записи второго и последующих слов, в 0,1,2 и т.д. элементах массива words оказывается последнее добавленное слово. Как это исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru