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

Перевернуть строку

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

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

Введённую с клавиатуры строку А записать в обратном порядке в строку Б. Строку Б вывести на экран.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.04.2012, 15:26
Ответы с готовыми решениями:

Перевернуть строку
Написал программу которая переворачивает строку #include<iostream> #include<cstring> using...

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

Перевернуть строку
#include <iostream> #include <string> using namespace std; int main() { setlocale(LC_ALL,...

Перевернуть строку
#include <iostream> #include <string> using namespace std; int main() { setlocale(LC_ALL,...

8
599 / 567 / 104
Регистрация: 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
70 / 70 / 36
Регистрация: 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
2017 / 1616 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
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
79 / 78 / 35
Регистрация: 02.12.2011
Сообщений: 966
Записей в блоге: 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
бжни
2473 / 1684 / 135
Регистрация: 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
871 / 769 / 173
Регистрация: 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
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
30.04.2012, 05:23 8
кстати все вышепредставленное для utf8 работать не будет в-принципе
0
4863 / 3285 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2013, 12:00
Помогаю со студенческими работами здесь

Перевернуть строку
Данн текст. Необходимо вывести его буквы в обратном порядке. типо ввожу &quot;первое предложение&quot;, а...

Перевернуть строку символов
Напишите программу, которая запрашивает строку символов, состоящую только из латинских букв, и...

Не могу перевернуть строку
Пытаюсь реализовать алгоритм переворота строки, но не получается. Вот код: #include &lt;iostream&gt;...

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

Перевернуть строку. В чем проблема?
#include &lt;iostream&gt; using namespace std; void swapstr(char* str) { for(int i=0;...

Перевернуть строку, в чем ошибка?
Выполните переворот строки, написав её наоборот. #include &lt;iostream&gt; #include &lt;string&gt; using...


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

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

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