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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
F. Alonso
1 / 1 / 0
Регистрация: 06.04.2011
Сообщений: 117
#1

Перевернуть строку - C++

29.04.2012, 15:26. Просмотров 1547. Ответов 8
Метки нет (Все метки)

всем привет! помогите, плиз:

Введённую с клавиатуры строку А записать в обратном порядке в строку Б. Строку Б вывести на экран.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2012, 15:26     Перевернуть строку
Посмотрите здесь:

Перевернуть строку - C++
Написал программу которая переворачивает строку #include<iostream> #include<cstring> using namespace std; void reversit(char...

Перевернуть строку - C++
Данн текст. Необходимо вывести его буквы в обратном порядке. типо ввожу "первое предложение", а выводится "еинежолдерп еовреп"(можно...

Перевернуть строку - C++
Написать функцию, которая переставляет символы строки по принципу обмена первого и последнего, второго и предпоследнего и т.д. ...

Строковый тип. Перевернуть строку - C++
Здраствуйте! Задача: ввести строку, перевернуть её, вывести полученную строку. Задачу выполнил частично: переворачивается строка,...

Перевернуть строку, в чем ошибка? - C++
Выполните переворот строки, написав её наоборот. #include <iostream> #include <string> using namespace std; int main() { ...

Перевернуть строку. В чем проблема? - C++
#include <iostream> using namespace std; void swapstr(char* str) { for(int i=0; i<strlen(str)/2-1;i++) { char...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
29.04.2012, 17:49     Перевернуть строку #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    cout << "Please input text:\n";
    string text;
    getline(cin, text);
    string reverse;
    
    copy(text.rbegin(), text.rend(), back_inserter(reverse));
    cout << "Text after reverse:\n" << reverse << endl;
    return 0;
}
amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 240
29.04.2012, 17:50     Перевернуть строку #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <cstring>
 
int main ()
{
    char* str = "Hello, world!";
    int i, len;
    len = strlen(str);
    char* str1 = new char [len];
    for (i=0; i<len; i++)
        str1[i] = str[len-i-1];
    str1[i]='\0';
    puts (str1);
    return 0;
}
rangerx
1931 / 1540 / 141
Регистрация: 31.05.2009
Сообщений: 2,908
29.04.2012, 19:35     Перевернуть строку #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstring>
 
int main()
{
    const size_t n = 256;
 
    char a[n];
    if(!std::cin.getline(a, n)) return 1;
 
    char b[n];
    size_t len = std::strlen(a);
    b[len] = '\0';
 
    for(size_t i = 0, j = len; j > 0; ++i)
        b[i] = a[--j];
 
    std::cout << b << "\n";
}
Kidasov
77 / 77 / 12
Регистрация: 02.12.2011
Сообщений: 965
Записей в блоге: 3
30.04.2012, 04:21     Перевернуть строку #5
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
#include <iostream> 
#include <cstring>
 
void slightlyReverse(char *str) {
    for (int i = 0, j = strlen(str) - 1; i < j; i++, j--) {
        str[i] ^= str[j];
        str[j] ^= str[i];
        str[i] ^= str[j];
    }
}
 
void output(char *str) {
    for (int i = 0; i < strlen(str); i++) {
        std :: cout << str[i];
    }
    std :: cout << std :: endl;
}
 
int main() {
    const size_t N = 256;
    char str[N];
    std :: cout << "Enter the string" << std :: endl;
    std :: cin.getline(str,256);
    slightlyReverse(str);
    output(str);
    return 0;
}
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
30.04.2012, 04:25     Перевернуть строку #6
Цитата Сообщение от panicwassano Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    cout << "Please input text:\n";
    string text;
    getline(cin, text);
    string reverse;
    
    copy(text.rbegin(), text.rend(), back_inserter(reverse));
    cout << "Text after reverse:\n" << reverse << endl;
    return 0;
}
как вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    cout << "Please input text:\n";
    string text;
    getline(cin, text);
    string reverse;
    
    reverse_copy(text.begin(), text.end(), back_inserter(reverse));
    cout << "Text after reverse:\n" << reverse << endl;
    return 0;
}
MrCold
852 / 750 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
30.04.2012, 05:19     Перевернуть строку #7
C++
1
2
3
4
5
6
7
8
9
#include <iostream> 
int main()
{  
    char strA[256],strB[256];
    std::cout << "String ? : ";
    std::cin.getline(strA,256);
    std::cout << strcpy(strB,strrev(strA));
      return 0;                 
}
Добавлено через 29 минут
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
#include <iostream>
char* like_strrev(char * );
int main()
{
    char strA[256],strB[256];
    std::cout << "String ? : ";
    std::cin.getline(strA,256);
    std::cout << strcpy(strB,like_strrev(strA));
    return 0;
}
    char* like_strrev(char *str)
     {
         if(!str) return 0;  
               char tmp;
               size_t i = 0, j = 0 , k = 0;
 
              while( str[++k]) ;
 
               for(i = 0, j = k - 1; i < j ; i++,j--)
                {
                      tmp =  str[i];
                      str[i] = str[j];
                      str[j] = tmp;
                }
               return str;
    }
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
30.04.2012, 05:23     Перевернуть строку #8
кстати все вышепредставленное для utf8 работать не будет в-принципе
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2013, 12:00     Перевернуть строку
Еще ссылки по теме:

Ввести с клавиатуры строку символов. Перевернуть каждое четное слово в строке. - C++
Есть задание. Ввести с клавиатуры строку символов. После чего Перевернуть каждое четное слово в строке. Могу задать строку вручную как и...

Рекурсия: "перевернуть" строку - C++
помогите пожалуйста написать программу , которая выполняется с помощью рекурсии задание: Дана строка символов, в конце которой стоит...

Перевернуть hex - C++
как перевернуть число? чтобы 0xA5 стало 0х5А

Перевернуть массив - C++
Дан массив размерности n. Заполнить массив случайными числами в диапазоне . Перевернуть массив: a↔a, a↔a и т.д. Для работы с массивом...

Перевернуть число - C++
Вводится число. Преобразовать его в другое число, цифры которого будут следовать в обратном порядке по сравнению с введенным числом.


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

Или воспользуйтесь поиском по форуму:
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
29.05.2013, 12:00     Перевернуть строку #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <algorithm>
 
using namespace std;
 
int main()
{
    string s = "abcd";
    
    reverse(s.begin(), s.end());
    cout << s << endl;
    return 0;
}
Yandex
Объявления
29.05.2013, 12:00     Перевернуть строку
Ответ Создать тему
Опции темы

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