Форум программистов, компьютерный форум CyberForum.ru

Сдвиг элементов вправо на один символ - C++

Восстановить пароль Регистрация
 
Suarez777
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 66
15.05.2013, 15:49     Сдвиг элементов вправо на один символ #1
Дано некоторое слово. Написать функцию, которая возвращает слово, полученное из исходного в результате сдвига его элементов вправо на один символ (последний элемент при этом перемещается на место первого). (3 балла)
Пример:

Вход: "shift"
Выход: "tshif"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
15.05.2013, 15:51     Сдвиг элементов вправо на один символ #2
Suarez777, всё просто. Запоминаете последний символ в переменную. Пробегаетесь по массиву до конца, перезаписывая так: str[i + 1] = str[i] до "length(str)-1"-го символа, а затем в str[0] записываете сохраненный последний символ.

Вырезка из кода:
C++
1
2
3
4
5
6
7
int length = strlen(str);
char t = str[length - 1];
for (int i = 0; i < length - 1; ++i)
{
str[i + 1] = str[i];
}
str[0] = t;
Suarez777
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 66
15.05.2013, 15:54  [ТС]     Сдвиг элементов вправо на один символ #3
с++ для меня- дремучий лес((
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
15.05.2013, 16:00     Сдвиг элементов вправо на один символ #4
Suarez777, ну тогда зачем вам нужно решать эти задачи? Если это задание в универе/школе, то вы явно выбрали не ту профессию.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <string.h>
 
void main()
{
char str[100];
printf("Enter string:\n");
scanf("%s", str);
int length = strlen(str);
char t = str[length - 1];
for (int i = 0; i < length - 1; ++i)
{
str[i + 1] = str[i];
}
str[0] = t;
printf("Shifted string: %s", str);
}
Yandex
Объявления
15.05.2013, 16:00     Сдвиг элементов вправо на один символ
Ответ Создать тему
Опции темы

Текущее время: 21:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru