Составить программу которая изменяет последовательность слов в строке на обратную

Написал прогу, которая должна выводить слова строки в обратном порядке. Запускается без ошибок, даёт ввести строку, но не выводит ничего.

#include #include #include using namespace std; int main()< int i, k, a=0, dl=0; string str; cout =0;i—) < a++; if(str[i]==’ ‘)< for(k=i;k<=(i+a);k++)< cout << str[k]; a=0; >> > return 0; >

  • «а» считает длину каждого слова и сбрасывается после написания этого слова.
  • Я новичок в программировании, если возможно, объясните попроще.

Отслеживать
задан 15 дек 2020 в 20:46
Никита Марченко Никита Марченко
3 1 1 серебряный знак 3 3 бронзовых знака

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Вот рабочий код:

#include #include #include using namespace std; int main()< int i, k, a=0, dl=0; string str; cout =0;i—) < if(str[i] == ‘ ‘)< for(k=i + 1;k<=(i+a);k++)< cout << str[k]; >a=0; cout a++; > for (int i = 0; i < dl; i++) < if (str[i] == ‘ ‘) break; cout return 0; >
Отслеживать
ответ дан 15 дек 2020 в 21:28
hot_penguin hot_penguin
464 3 3 серебряных знака 15 15 бронзовых знаков

  • c++
  • строки
  • циклы
    Важное на Мете

Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Решение простых задач на python | Поменять порядок цифр числа на обратный

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник: ru.stackoverflow.com

Читайте также:
Что такое тематическая программа на радио

Вывести слова строки в обратном порядке

Вводится строка слов. Вывести слова в обратном порядке.

  • str — строка;
  • len — длина строки;
  • a — длина очередного слова;
  • i — текущая позиция в строке.

Алгоритм решения задачи:

Будем перебирать символы строки с конца и измерять количество подряд идущих непробельных символов. Если очередной символ — пробел, следует вывести на экран отрезок строки от предыдущего с конца символа ( i + 1 ) на длину подряд идущих непробельных символов. Это делается с помощью функции copy. После того как слово будет выведено, надо обнулить фиксируемую длину слова ( a = 0 ).

Поскольку вывод слова «срабатывает», только когда встречается пробел, то первое слово строки (последнее из найденных при поиске с конца) выведено не будет, если перед ним нет пробела. Поэтому в программе за циклом предусмотрен отдельный вывод последней найденной подстроки.

12 Списки и операции над ними Python

Программа на языке Паскаль:

var str: string; len, i, a: byte; begin readln(str); len := length(str); a := 0; for i:=len downto 1 do begin if str[i] = ‘ ‘ then begin write(copy(str, i+1, a), ‘ ‘); a := 0; end else a := a + 1; end; write(copy(str, i, a)); writeln; end.

Пример работы программы:

one two three three two one

Источник: pas1.ru

Изменить порядок слов в строке на обратный

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

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

Читайте также:
Как составить список программ на компьютере

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

В общих чертах алгоритм может быть таким. Строка просматривается с конца и фиксируется количество подряд идущих символов, которые не являются пробелами (т.е. длина слова). Как только встретится пробел, участок строки от этого пробела на длину слова добавляется в конец новой строки. Таким образом, если новая строка изначально пуста, то последнее слово исходной строки окажется первым в новой. Предпоследнее слово исходной строки окажется вторым в новой и т.д.

То, каким образом происходит копирование части строки из исходной и добавление этой части в новую строку, зависит от языка программирования, функций работы со строками.

Pascal

var
str: string;

procedure conversely(var s: string);
var
len, i, a: byte;
s2: string;
begin
len := length(s);
a := 0;
s2 := »;
for i:=len downto 1 do begin
if s[i] = ‘ ‘ then begin
s2 := s2 + copy(s,i+1,a) + ‘ ‘;
a := 0;
end
else
a := a + 1;
end;
s2 := s2 + copy(s,i,a);
s := s2;
end;

begin
readln(str);
conversely(str);
writeln(str);
end.

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

Python

вывести строку в обратном порядке python

# Вариант 1 — без использования встроенных функций

def conversely(s):
s2 = »
i = len(s)-1
while i >= 0:
if s[i] == ‘ ‘:
s2 = s2 + s[i+1:] + ‘ ‘
s = s[:i]
i = len(s) — 1
else:
i -= 1
s2 = s2 + s
return s2

string = input()
string = conversely(string)
print(string)

# Вариант 2 — с использованием встроенных функций Python

def conversely(s):
s = s.split()
s.reverse()
s2 = ‘ ‘.join(s)
return s2

Читайте также:
Как работать с программой abbyy finereader 11

string = input()
string = conversely(string)
print(string)

каждый охотник желает знать, где сидит фазан
фазан сидит где знать, желает охотник каждый

Basic-256

input str$
gosub conversely
print str$
end

conversely:
len = length(str$)
a = 0
s$ = «»
for i=len to 1 step -1
if mid(str$,i,1) = » » then
s$ = s$ + mid(str$,i+1,a) + » »
a = 0
else
a = a + 1
endif
next i
s$ = s$ + mid(str$,1,a)
str$ = s$
return

conversely words of string
string of words conversely

Источник: gospodaretsva.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru