Форум программистов, компьютерный форум 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 элементов и отсортирован по возрастанию. Массив В состоит из М элементов и отсортирован по убыванию. Разработать программу для слияния этих массивов в отсортированный по возрастанию массив С. Помогите, пожалуйста, найти ошибку. Выводит 20 нулей , а должен - отсортированный по возрастанию массив #include<iostream> #include <conio.h> #include <vector>...
Разработать класс MyString C++
Добрый вечер, необходимо создать переопределенный конструктор для создание строки из различных типов: int, double, char *, std::string. Спасибо.
C++ Двумерный динамический массив в функциях http://www.cyberforum.ru/cpp-beginners/thread1058773.html
Хочу создать отдельно в каждой функции создание массива и показ массива. но в итоге при использовании второй функции вылазит разные числа подскажите в чем проблема. Ниже код прикладываю. Заранее благодарю. #include <iostream> #include "stdio.h" #include "time.h" #include <cstdlib> using namespace std; void gen_mass(int** mass,int n){ srand (time(NULL)); mass=new int *; for (int...
C++ Ошибка при компиляции Укажите пожалуйста на ошибку #include <iostream> #include <cstring> #include <cmath> using namespace std; class MyPoint { int x; подробнее

Показать сообщение отдельно
J0ker
0 / 0 / 0
Регистрация: 04.10.2013
Сообщений: 37
27.12.2013, 17:47     Не работает массив слов
Я создаю массив слов.
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 оказывается последнее добавленное слово. Как это исправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru