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

Строки - C++

Восстановить пароль Регистрация
 
vadimburlov
1 / 1 / 0
Регистрация: 18.03.2011
Сообщений: 25
02.05.2011, 23:23     Строки #1
Помогите с текстом программы))) Не могу составить, чтобы заданную строку текста представить в виде массива, каждый элимент которого представлял бы собой слова данной строки...
P.S. Слова изначально в строке разделены пробелами...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2011, 23:23     Строки
Посмотрите здесь:

Добавить в конец первой строки, последние n2-n1 слов второй строки C++
C++ Скопировать второе слово каждой строки в начало следующей строки
Из символов введенной строки сформировать две строки - из цифр и букв C++
C++ Найти номер строки матрицы, наиболее отдаленный от первой строки
Выявить строки, в которых макс. эл-т больше суммы остальных эл-ов строки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
02.05.2011, 23:28     Строки #2
C++
1
2
3
4
std::string str;
getline(std::cin, str);
std::istringstream ist(str);
std::vector<std::string> vec( (std::istream_iterator<std::string>(ist)), std::istream_iterator<std::string>());
vadimburlov
1 / 1 / 0
Регистрация: 18.03.2011
Сообщений: 25
02.05.2011, 23:32  [ТС]     Строки #3
А можно переписать для Builder?
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
02.05.2011, 23:51     Строки #4
vadimburlov, ну если попроще, то есть с фиксированными размерами массива, то можно так (на Си):
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#define MAX_WORDS   15
#define MAX_LENGTH  20
 
int main() {
    char str[] = "the crazy brown fox jump over the lazy dog";
    char * pch;
    
    int i;
    char words[MAX_WORDS][MAX_LENGTH] = { 0 };
    
    
    for (i = 0, pch = strtok(str, " "); pch; pch = strtok(NULL, " "), ++i) {
        strcpy(words[i], pch);
    }
    
    for (i = 0; i < MAX_WORDS && *words[i]; ++i) {
        printf("%s\n", words[i]);
    }
    
    return 0;
}
Yandex
Объявления
02.05.2011, 23:51     Строки
Ответ Создать тему
Опции темы

Текущее время: 04:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru