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

Узнай цену своей работы

Формулировка задачи:

программа должна из 3 предложений взять последние слова и вывести их в новой строке на экран. у меня вот(см ниже) но она работает только с одним предложением. помогите сделать чтобы работало и с 3-мя. очень надо. Код:
#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();
}

Решение задачи: «Из 3 предложений взять последние слова и вывести их в новой строке на экран»

textual
Листинг программы
#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. Подключаются необходимые заголовочные файлы: iostream, string, vector, algorithm.
  2. В функции main() инициализируется переменная count значением 3, которая будет использоваться в цикле.
  3. Создается пустой вектор vec типа std::string.
  4. Запускается цикл while, который выполняется count раз.
  5. Внутри цикла создается переменная string типа std::string, в которую считывается строка с помощью функции std::getline(std::cin, string).
  6. С помощью функции std::string(std::find(string.rbegin(), string.rend(), ' ').base(), string.end()) из последней строки удаляются все пробелы и добавляется в вектор vec с помощью функции push_back().
  7. После окончания цикла, все элементы вектора vec выводятся на экран с помощью функции std::copy(vec.begin(), vec.end(), std::ostream_iterator(std::cout, )).
  8. Функция main() возвращает 0, что означает успешное выполнение программы.

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы