Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
1

Вывести первые n слов строки на экран

22.11.2010, 14:12. Показов 1758. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет
Мне нужно вывести на экран первые n слов из рядка. Пользователь задает количество слов n.
не пойму как организовать цикл. ввести и вывести нужно с помощью printf() и scanf()
на пример есть рядок "привет алекс как у тебя дела" пользователь хочет вывести первые 2 слова, на экран должно вывести "привет алекс" буду очень признателен за помощь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2010, 14:12
Ответы с готовыми решениями:

Вывести на экран строки, состоящие из заданного количества слов
Вывести на экран строки, состоящие из заданного количества слов (количество задается с клавиатуры...

Определить количество слов в строке и вывести на экран слова строки в столбик
Добрый вечер! Помогите разобраться: Исходное задание: Дана строка текста, в которой слова...

Посчитать и вывести на экран количество слов в файле, первую половину слов вывести в другой файл
3. Открыть файл, имя которого задается с клавиатуры. Посчитать и вывести на эк-ран количество слов...

В параметрах командной строки передается список слов. Определить и вывести на экран слово максимальной длины.
Необходимо разработать программу согласно варианту задания. Данные в программу передаются через...

8
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
22.11.2010, 16:23 2
На С++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
 
int main()
{
    std::string str, temp;
    std::cout << "Enter string: ";
    getline(std::cin, str);
    std::vector<std::string> vec_str;
    std::istringstream ist(str);
    while(ist >> temp)
    {
        vec_str.push_back(temp);
    }
    int n = 0;
    std::cout << "Enter n: ";
    std::cin >> n;
    std::cout << "> " << vec_str[n-1];
    return 0;
}
Блин,плохо понял задание.
0
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
22.11.2010, 16:29  [ТС] 3
ми ещо не изучали потоковый ввод и вывод, можно c помощю printf() и scanf()?
Спасибо))
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
22.11.2010, 16:31 4
Вот так как бэ норм
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>
#include <vector>
#include <sstream>
 
int main()
{
    std::string str, temp;
    std::cout << "Enter string: ";
    getline(std::cin, str);
    std::vector<std::string> vec_str;
    std::istringstream ist(str);
    while(ist >> temp)
    {
        vec_str.push_back(temp);
    }
    int n = 0;
    std::cout << "Enter n: ";
    std::cin >> n;
    std::cout << "> ";
    for(int i = 0; i < n; ++i)
    {
        std::cout << vec_str[i] << ' ';
    }
    return 0;
}
Извини,но з Си я пока на "Вы"
0
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
22.11.2010, 16:34  [ТС] 5
вообщето мне нужно на Си ++
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
22.11.2010, 16:34 6
Цитата Сообщение от asics Посмотреть сообщение
На С++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <sstream>
 
int main(){
    std::string buf;
    int n_words;
    
    std::cout << "String: ";
    std::getline(std::cin, buf);
    std::cout << "Number of words: ";
    std::cin >> n_words;
    
    std::istringstream ist(buf);
    while ( n_words-- && ist >> buf )
        std::cout << buf << " ";
    
    std::cout << std::endl;
    return 0;
}
0
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
22.11.2010, 16:40  [ТС] 7
смисл я то понял, но с потоками я ещо толком не разобрался если не сложно можно ето всё дело записать с помощю printf() и scanf()
извините что достаю
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
22.11.2010, 16:43 8
Цитата Сообщение от kaffein Посмотреть сообщение
можно c помощю printf() и scanf()?
Цитата Сообщение от kaffein Посмотреть сообщение
мне нужно на Си ++
Вы уж определитесь как-нибудь...
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 <stdio.h>
#include <string.h>
 
#define DELIM " \t\n"
 
int main(void){
    char buf[BUFSIZ], * p;
    int i, num;
    
    printf("String: ");
    if ( ! fgets(buf, BUFSIZ, stdin) )
        return 1;
    
    printf("Number of words: ");
    if ( scanf("%d", &num) != 1 || ! num )
        return 1;
    
    for ( p = strtok(buf, DELIM); num && p; --num, p = strtok(NULL, DELIM) )
        printf("%s ", p);
    
    printf("\n");
    return 0;
}
1
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
22.11.2010, 19:02  [ТС] 9
О! спасибо

Добавлено через 2 часа 14 минут
Цитата Сообщение от easybudda Посмотреть сообщение
Вы уж определитесь как-нибудь...
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 <stdio.h>
#include <string.h>
 
#define DELIM " \t\n"
 
int main(void){
    char buf[BUFSIZ], * p;
    int i, num;
    
    printf("String: ");
    if ( ! fgets(buf, BUFSIZ, stdin) )
        return 1;
    
    printf("Number of words: ");
    if ( scanf("%d", &num) != 1 || ! num )
        return 1;
    
    for ( p = strtok(buf, DELIM); num && p; --num, p = strtok(NULL, DELIM) )
        printf("%s ", p);
    
    printf("\n");
    return 0;
}

что то я сижу и не могу вехать что такое

buf[BUFSIZ],

strtok
#define DELIM " \t\n"

можно добавить коментарии?
0
22.11.2010, 19:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2010, 19:02
Помогаю со студенческими работами здесь

удалить первые k слов из строки, сдвинув на их место последующие C++
Дана строка символов состоящая из произвольного текста, слова разделены пробелами. Удалить первые...

Вывести первые буквы всех слов в строке. Структуры. Исправить
Есть рабочая программа, выполняющая сию задачу, но требуется модифицировать её так, чтобы в...

Задача на тему "Строки" (вывести на экран только предложения, состоящие из заданного количества слов)
написать программу, которая считывает текст из файла и вывыдит на экран только предложения...

Вывести на экран первые n простых чисел
N вводится с клавиатуры. Без массивов и сложных функций, только через циклы.


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru