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

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

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

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

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

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

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

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
panicwassano
592 / 560 / 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;
}
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;
}
0
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
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";
}
0
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;
}
0
alex_x_x
бжни
2447 / 1652 / 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;
}
0
MrCold
855 / 753 / 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;
    }
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
30.04.2012, 05:23 #8
кстати все вышепредставленное для utf8 работать не будет в-принципе
0
accept
4822 / 3243 / 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;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2013, 12:00
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.05.2013, 12:00
Ответ Создать тему
Опции темы

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