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

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

Войти
Регистрация
Восстановить пароль
 
crisalid1
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 2
#1

Массивы слов - C++

19.10.2013, 22:12. Просмотров 301. Ответов 2
Метки нет (Все метки)

Здравствуйте, нужна помощь. Требуется выполнить следующее задание:
В двумерном массиве записаны слова, представляющие собой последовательность цифр, завершающихся 0. Необходимо распечатать слова через запятую, заключив печатаемую строку в скобки. Длина печатаемой строки N символов. Извлечение слова оформить в виде функции.

Например:
исходные данные:
- 123023402303450
234450234567010
234455677670450
результат:
(123, 234, 23, 345) (23445, 234567, 1) (23445567767, 45)

Со строками я работать не умею, поэтому прошу помощи(огромная просьба, вывод сделать через printf).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2013, 22:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивы слов (C++):

Чтение слов и чисел из файла в разные массивы - C++
Подскажите, в файле записаны числа и слова через пробелы. Надо считать слова в один массив, а числа соответственно в другой массив. char*...

Функция, получает строку слов и рзделителей, а на выходе имеет массив слов из строки и количество этих слов - C++
мне нужна функция, которая во входе получает строку слов и рзделителей (" ", ",", ".", "_", """), а на выходе имеет массив слов из строки...

Создать список слов из файла и подсчитать количество повторения этих слов - C++
Здравствуйте. Помогите написать такую программу: в файле храниться текст. Нужно составить список слов из этого текста и посчитать частоту...

Дана последовательность слов. Найти кол-во слов начинающихся с d и кончающихся буквой w - C++
Кто может, помогите, пожалуйста. Использование указателей при работе со строками С++ Дана непустая последовательность слов из латинских...

Создать список из слов. Подсчитать количество слов, совпадающих с последним словом - C++
создать список из слов. подсчитать количество слов, совпадающих с последним словом. Удалить все таки слова, оставив одно последнее.

Вывести список слов в порядке убывания количества вхождений слов - C++
Доброго времени суток. Задание такое: вывести на стандартный выходной поток список всех различных слов в файле в порядке убывания...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
20.10.2013, 02:59 #2
Цитата Сообщение от crisalid1 Посмотреть сообщение
(огромная просьба, вывод сделать через printf).
мб вообще стоит на С написать? А то STL да string у вас будет вызывать большой вопрос

В первой строке минус или что?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
#include <vector>
 
int main()
{
    std::string words[] = {"123023402303450", "234450234567010", "234455677670450"};
    for (auto &s: words)
    {
        std::vector<std::string> v;
        std::size_t lastpos = 0, pos = s.find('0', 1);
        while(pos != std::string::npos)
        {
            v.push_back(s.substr(lastpos, pos-lastpos));
            lastpos = pos + 1;
            pos = s.find('0', lastpos);
        }
        std::cout << "(";
        for (unsigned int i=0; i < v.size() - 1; i++)
            std::cout << v[i] << ", ";
        std::cout << *v.crbegin() << ") ";
    }
}
MrCold
854 / 752 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
20.10.2013, 06:18 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 #include <iostream>
 
 char* substr(const char * beg, const char* end)
 {
   static char word[100];
   char *ch = word;
        while( *beg != *end && *ch)
        {
          *ch++ = *beg++;
        }
    *ch = '\0';
    return word;
 }
 
  char* find( const char * findstr, char *sourcestr)
 {
       while(*sourcestr)
       {
           if( *findstr == *sourcestr)
               return &(*sourcestr);
           *sourcestr++;
       }
    return NULL;
 }
int main()
{
     char str[][100] = {"123023402303450",
                        "234450234567010",
                        "234455677670450"};
    char *end = NULL;
    for(int i = 0; i < sizeof(str)/sizeof(str[0]); i++)
    {    
        std::cout << "(";
        char * curr = str[i];
        while(end = find("0",curr))
        {
            if(curr != str[i])
                std::cout << ", ";
            std::cout << substr(curr,end);
            curr = end + 1;
        }
        std::cout << ")";
    }
          std::cout << "\n";
     system("pause");
  }

//////////////////////////////////////
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <string>
int main()
{
     char str[][100] = {"123023402303450",
                        "234450234567010",
                        "234455677670450"};
 
    std::string::size_type end = 0, start = 0;
    for(int i = 0; i < sizeof(str)/sizeof(str[0]); i++)
    {    
        end  = start = 0;
        std::cout << "(";
        std::string curr = str[i];
        while((end = curr.find("0",start))!= std::string::npos)
        {
            if(start)
                std::cout << ", ";
            std::cout << curr.substr(start, end - start);
            start = end + 1;
        }
        std::cout << ")";
    }
    std::cout << "\n";
     system("pause");
  }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2013, 06:18
Привет! Вот еще темы с ответами:

Построить диаграмму длины слов, входящих в текст, содержащий от 5 до 10 слов. - C++
Построить диаграмму длины слов, входящих в текст, содержащий от 5 до 10 слов. Не понимаю как считать заданное количество слов и...

Дан массив слов. Определить количество слов массива, которые не являются «перевертышем». - C++
Дан массив слов. Определить количество слов массива, которые не являются «перевертышем». Разработать программу на языке Си....

В массиве слов найти пару слов, из которых одно является обращением другого - C++
Дали задачку, вроде простая, а мыслей нет(( вопрос как организовать поиск слов)) ну собственно задание: В массиве слов найти пару...

Стек: создать список из слов, подсчитать количество слов, совпадающих с последним словом - C++
Создать список из слов. подсчитать количество слов, совпадающих с последним словом. Удалить все таки слова, оставив одно последнее. ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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