0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 23
1

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

06.01.2016, 18:04. Показов 1357. Ответов 7
Метки нет (Все метки)

Каждый символ, стоящий в нечетной позиции, обменять со следующим за ним символом строки. есть такая вещь. но если строка будет состоять из букв то результат выходит не в нужной кодировке. как решить проблему
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "stdafx.h"
#include <iostream>
#include <locale>
#include <conio.h>
#include <io.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale( LC_ALL,"Russian" );
int len;
char str[255];
char tmp;
        cout<<"Введите строку: ";
        cin.getline(str,254);
                len=strlen(str);
                for(int i=0;i<len-1;i++)
                        {
                                if(i%2==0)
                                {
                                tmp=str[i];
                                str[i]=str[i+1];
                                str[i+1]=tmp;
                                }
                        }
                cout<<str<<endl;
                system("pause");
                return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2016, 18:04
Ответы с готовыми решениями:

Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с клавиатуры.
Работа с символьными данными. 15. Каждый символ ? удвоить. Каждый символ, стоящий перед !,...

Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с клавиатуры
Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с...

Дан текстовый файл, содержащий строки. Зашифровать строку, заменив каждый символ следующим за ним
Дан текстовый файл, содержащий строки. Зашифровать строку, заменив каждый символ следующим за ним

Каждый символ "?" удвоить. Каждый символ, стоящий перед "!", заменить заданным символом
Каждый символ ? удвоить. Каждый символ, стоящий перед !, заменить символом, введенным с...

7
Любитель чаепитий
3734 / 1793 / 562
Регистрация: 24.08.2014
Сообщений: 5,995
Записей в блоге: 1
06.01.2016, 18:07 2
Aleksey68,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    string str;
    cin >> str;
    for( size_t i = 0; i < str.size(); i++ ) {
        if( i % 2 != 0 ) swap( str[i], str[i+1] );
    }
    cout << str << endl;
}
Вы на русском вводите? Если да, то не удивительно.
0
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 23
06.01.2016, 18:09  [ТС] 3
а не получится на русском?
0
Любитель чаепитий
3734 / 1793 / 562
Регистрация: 24.08.2014
Сообщений: 5,995
Записей в блоге: 1
06.01.2016, 18:11 4
Aleksey68, Не знаю, гляньте тут. Может там найдёте решение.
0
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 23
06.01.2016, 18:11  [ТС] 5
а в том коде который вы прислали игнорится первый нечетный элемент
0
Любитель чаепитий
3734 / 1793 / 562
Регистрация: 24.08.2014
Сообщений: 5,995
Записей в блоге: 1
06.01.2016, 18:13 6
Aleksey68, Единица? Не должна!
0
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 23
06.01.2016, 18:26  [ТС] 7
почему? первый элемент нечетный. он тоже ведь должен меняться
0
Любитель чаепитий
3734 / 1793 / 562
Регистрация: 24.08.2014
Сообщений: 5,995
Записей в блоге: 1
06.01.2016, 18:29 8
Aleksey68, А на Википедии написано, что нулевой элемент является чётным!
ссылка
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2016, 18:29
Помогаю со студенческими работами здесь

Каждый элемент, стоящий на чётной позиции, поменять местами с соседним элементом, стоящим перед ним
Задача состоит в следующем: дан список, каждый элемент, стоящий на чётной позиции, поменять местами...

Каждый символ строки заменить на следующий за ним, а последний символ строки заменяеть первым
я написал код но не могу разобраться. вот дано :...

Удвоить каждый символ строки, стоящий на четном месте
. Ваша программа должна в заданном тексте удвоить каждый символ, стоящий на четном месте.

Удвоить каждый символ строки, стоящий левее каждого пробела
Ваша программа должна в заданном тексте удвоить каждый символ, стоящий левее каждого пробела


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru