Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 1
Регистрация: 24.03.2010
Сообщений: 46
1

Из 3 предложений взять последние слова и вывести их в новой строке на экран

31.05.2011, 23:17. Показов 1212. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
программа должна из 3 предложений взять последние слова и вывести их в новой строке на экран. у меня вот(см ниже) но она работает только с одним предложением. помогите сделать чтобы работало и с 3-мя. очень надо.
Код:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include <string.h>
#include<conio.h>
#include<stdio.h>
void main()
{
char str[80]; 
int i,l,k,c;
puts("Vvedite stroku: ");
gets(str);
l=strlen(str);
for(i=l;;i--){
if(str[i]==' ') {k=i; break;}
}
for(i=k;i<l;i++){
putchar(str[i]);}
getch();
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2011, 23:17
Ответы с готовыми решениями:

Вывести в алфавитном порядке последние слова всех предложений
Помогите, пожалуйста, исправить код, а то дуб дубом((Не могу никак дойти( Дан текст, состоящий из...

Из двух предложений удалить слова, встречающиеся в обоих предложениях. Вывести на экран предложения и удаленные слова
Из двух предложений удалить слова, встречающиеся в обоих предложениях. Вывести на экран полученные...

Строки: Вывести последние символы каждого слова в строке
Здравствуйте! Уважаемые форумчане помогите решить задачку на Паскале, может даже у кого-то есть...

Последние слова предложений отсортировать по алфавиту
Товарищи кодеры, выручайте. Есть задание полностью готовое. Надо было вывести последние слова в...

4
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
31.05.2011, 23:29 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <sstream>
 
int main()
{
    unsigned short count = 3;
    while(--count)
    {
        std::string string;
        std::getline(std::cin, string);
        std::string right(string.rbegin(), string.rend());
        std::stringstream ist(right);
        ist >> right;
        std::cout << right << '\n';
    }
    return 0;
}
1
65 / 18 / 3
Регистрация: 09.10.2010
Сообщений: 97
31.05.2011, 23:36 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
#include "stdafx.h"
#include <string.h>
#include <conio.h>
#include <stdio.h>
void main(){
    char str[80]; 
    int i,l,k,c,kol, j;
    
    for(j = 0; j < 3; j++){
        puts("\nVvedite stroku: ");
        gets(str);
        l=strlen(str);
        
        for(i = l; ;i--){
            if(str[i] == ' '){
                k=i; 
                break;
            }
        }
        
        for(i = k; i < l; i++){
            putchar(str[i]);
        }
    }
    getch();
}
1
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
31.05.2011, 23:39 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
 
int main()
{
    unsigned short count = 3;
    std::vector<std::string> vec;
    while(count--)
    {
        std::string string;
        std::getline(std::cin, string);
        vec.push_back(std::string(std::find(string.rbegin(), string.rend(), ' ').base(), string.end()));
    }
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, " "));
    return 0;
}
1
2 / 2 / 1
Регистрация: 24.03.2010
Сообщений: 46
31.05.2011, 23:48  [ТС] 5
форевер спасибо но препод не поверит что сам так сделал))

Добавлено через 1 минуту
слимми пожалуйста сделайтте так чтобы слова в строку через пробел
0
31.05.2011, 23:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2011, 23:48
Помогаю со студенческими работами здесь

Вывести на экран через один пробел последние буквы каждого слова
Дана текстовая строка, состоящая из слов, разделенных одним пробелом. Вывести на экран через один...

Напечатать в столбик последние слова всех предложений текста
Текст из файла считывается и записывается во второй файл Напечатать в столбик последние слова всех...

Вывести названия дней недели в массив, вывести их на экран в строку, дальше из новой строке в зворотнему порядке
Вывести названия дней недели в массив, вывести их на экран в строку, дальше из новой строке в...

Записать в файл строку. Скопировать в буфер последние два слова. Вывести содержимое буфера на экран
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main(){ ofstream...


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

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