Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Тео
1 / 1 / 0
Регистрация: 03.11.2015
Сообщений: 111
#1

Каждый символ строки заменить на следующий за ним, а последний символ строки заменяеть первым - C++

01.04.2016, 09:33. Просмотров 456. Ответов 1
Метки нет (Все метки)

я написал код но не могу разобраться. вот дано :
----------------------------------------------------------
В текстовом файле fin.txt находится текст на русском языке. С клавиатуры вводится число N.
Надо написать подпрограмму, которая по заданной строке S формирует строку, полученную из S следующим способом: каждый символ строки S заменяются на следующий за ним символ в строке S, а последний символ строки заменяется на первый. Например, если дана строка «Привет, Мир!», то получим: «ривет, Мир!П»
Используя эту подпрограмму, сформировать компонентный файл fout.dat, N-ым элементом которого является строка, полученная описанным выше способом из N-ой строки файла fin.txt.
Вывести полученный компонентный файл на экран.
-----------------------------------------------------------
и еще, если я пишу Hi,Wotld! то у меня получается i,WorldH , а надо i,World!H
помогите разобраться пожалуйста

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>
 
using namespace std;
 
int main()
 
{
    setlocale(0, "");
    string s;
    cout << "Введи строку: ";
    getline(cin, s); 
 
    char ch = s[0];
    s[0] = s[s.length() - 1];
    s[s.length() - 1] = ch;
 
    cout << "Получилось " << s << endl;
    system("pause >> null");
}
Добавлено через 5 минут
точнее вот так:
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>
 
using namespace std;
 
int main()
 
{
    setlocale(0, "");
    string s;
    cout << "Введи строку: ";
    getline(cin, s); 
 
    char ch = s[0];
    s[0] = s[s.length() ];
    s[s.length()-1] = ch;
 
    cout << "Получилось " << s << endl;
    system("pause >> null");
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2016, 09:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Каждый символ строки заменить на следующий за ним, а последний символ строки заменяеть первым (C++):

Найти символ первой строки, который первым не совпал с одним из символов второй строки. Вывести слово, в которое входит этот символ - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым не совпал с...

Вывести строки, в которых символ «*» встречается не менее 2 раз и заменить символ «*» на символ «_» - C++
День добрый. Имеется условие лабы. Написать программу, в которой с клавиатуры вводится до 10 символьных строк. Вывести строки, в...

Каждый символ, стоящий в нечетной позиции, обменять со следующим за ним символом строки - C++
Каждый символ, стоящий в нечетной позиции, обменять со следующим за ним символом строки. есть такая вещь. но если строка будет состоять из...

Строки: заменить каждый символ '/' на пару символов ':' - C++
Подсчитать количество пар '23' и '45' по отдельности и заменить каждый символ '/' на пару символов ': '. С использование библиотеки...

Заменить каждый второй элемент строки на заданный символ - C++
1. Написать и протестировать функцию, которая в строке, передаваемой ей в качестве параметра, заменяет каждый второй элемент на заданный...

Текст из 0 и 1. Оставив 1-ый символ в как есть, заменить каждый следующий на 0, если не совпадает с рассматриваемым - C++
Добрый день, окажите помощь с данной задачей. Задан текст, состоящий из «0» и «1». Оставив первый символ в неприкосновенности, заменить...

1
SpBerkut
Объявлятель переменных
947 / 273 / 138
Регистрация: 24.09.2011
Сообщений: 1,008
Завершенные тесты: 2
01.04.2016, 17:03 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
#include <cstring>
 
void shift(char *s) {
    char c = s[0];
    int l = strlen(s);
    for(int i = 0; i<l-1; s[i]=s[i+1],i++);
    s[l-1]=c;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2016, 17:03
Привет! Вот еще темы с ответами:

Строки, символы. вычислить, сколько раз встречается каждый символ в обоих строках, вывести второе слово второй строки в обратном порядке - C++
Пусть даны две строки и два символа. Необходимо определить длину каждой строки, вычислить, сколько раз встречается каждый символ в обоих...

Не удаляется последний символ строки - C++
Почему не удаляет последний символ строки, выдает, что такого символа нет. Как это исправить, помогите, пожалуйста. puts(&quot;enter char for...

Как задать условие того, что следующий символ строки точка - C++
Ребят, как задать условие if(за_символом_следует_точка) код_этого_символа * 2;

Каждый элемент заменить на ближайший следующий за ним - C++
Добрый день. В таблице А размера N за один просмотр необходимо каждый элемент заменить на ближайший следующий за ним элемент, который...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru