Вывести строку на экран задом наперед - C (СИ)

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

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

Всем доброго времени суток! У меня завтра гос.экзамен, на котором будут практические задания в с++. Я в этом деле, как бы выразится по мягче, блондинка. Мне обещал мой друг сделать задачки, но как оказалось его слова не имеют значения. Я теперь не знаю что делать(( Вот полазила по интернету и нашла ваш форум. Помогите пжл с задачками, спасите... Вот задачи, как преподаватель сказал они не сложные. Я с++ не проходила, это как арабский выучить за день(( 8 задач: 1 Дана строка символов. Вывести её на экран задом наперед. 2 Дана строка символов. Удалить из неё первый знак препинания. 3 Дана строка символов до точки. Группы символов в ней между группами пробелов считаются словами. Посчитать, сколько слов содержит данная строка. 4 Дан массив чисел. Найти значение максимального элемента. Если таких элементов несколько, то определить, сколько их. 5 Дана строка символов. Выделить подстроку между первой и второй точками. 6 Дана строка символов до точки. Группы символов в ней между группами пробелов считаются словами. Определить количество слов, длину самого короткого и самого длинного слова. 7 Известны сведения о высоте над уровнем моря 15-ти горных вершин. Все значения выражены в метрах. Напечатать названия вершин, чья высота превышает 3000 м над уровнем моря. 8 Вводится массив из 10 элементов. Найти максимальный элемент массива и возвести его в квадрат. Помогите пожалуйста. Если можно, попроще и пару слов, как работает. ( Скачала книгу "С++ для чайников", сижу читаю )
Что-то такое мне сестра написала, но что это и куда... я не знаю... Она говорит, что задачи похожим способом писать надо...
cout<<"введите строку"<<endl;
char[20]
cia>>A;
int k;
for(i=0;i=strion(A)-1;i++)
{if(A[i]='-'){k++;contiue;}
if(k==1)coutA[i];
if(k==2)break;
}

Решение задачи: «Вывести строку на экран задом наперед»

textual
Листинг программы
#include <iostream>
#include <string>
using namespace std;
int main()
{
    string str; // входная строка
    string sub_str; // под строка
    cout<<"Enter a string : ";
    getline(cin,str); // получаем входную строку
    int of=0,of2=0;
    if( (of = str.find(".") ) != -1) // функция find находит смешение первой точки
    for(int i = of+1; i<str.length(); i++) // находим
        if(str[i]=='.')                 //смешение второй точки
            of2=i;
    for(int i=of+1; i < of2; i++) // сохраняем под строку
        sub_str+=str[i];
    cout<<sub_str<<endl;
return 0;
}

Объяснение кода листинга программы

В этом коде происходит следующее:

  1. Входная строка считывается с помощью функции getline(cin,str).
  2. Переменная of инициализируется значением, которое возвращает функция find(.), применяемая к строке str. Эта функция ищет первое вхождение точки в строке. Если точка не найдена, функция возвращает -1.
  3. Затем в цикле перебираются символы строки, начиная с of+1, чтобы найти второе вхождение точки.
  4. Если второе вхождение точки найдено, переменная of2 инициализируется значением i, где найдена вторая точка.
  5. Затем в цикле перебираются символы строки, начиная с of+1 и до of2, включительно. Каждый символ добавляется в подстроку sub_str.
  6. Наконец, подстрока выводится на экран с помощью cout<<sub_str<<endl;. Таким образом, этот код переворачивает строку, удаляя все символы, кроме последних двух, которые являются точками.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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