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

Не могу перевернуть строку

25.07.2019, 19:25. Показов 586. Ответов 4
Метки нет (Все метки)

Пытаюсь реализовать алгоритм переворота строки, но не получается. Вот код:
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 <iostream>
using namespace std;
const int MAX = 40;
void reversit(char[]);
int dlina(char[]);
 
int main()
{
    char stroka[MAX];
    cout<<"Enter a string: ";
    cin.get(stroka, MAX);
    reversit(stroka);
    for(int k=0; k<MAX; k++)cout<<stroka[k];
    return 0;
}
 
void reversit(char s[])
{
    int len = dlina(s); int j;
    for(j=0; j<len/2; j++)
    {
        int temp; temp = s[j];
        s[j] = s[MAX-j-1]; s[MAX-j-1] = temp;
    };
}
 
int dlina(char DLC[])
{
    int n=0, i=0;
    while(DLC[i]!='\0'){n++; i++;};
    return n;
}
Программа не переворачивает строку, а выдает какую-то кракозябру. Пробовал измерять кол-во символов с помощью strlen(), без своей функции(dlina(char[])), но так тоже не выходит. Если кто знает, помогите найти ошибку. Заранее спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.07.2019, 19:25
Ответы с готовыми решениями:

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

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

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

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

4
7422 / 5017 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
25.07.2019, 21:09 2
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
#include <iostream>
#include <string>
using namespace std;
 
void Reverse (string &s)
{
    size_t n=s.size();
    for (size_t i = 0; i < n/2; i++)    
    swap (s[i], s[n-1-i]);
}
 
int main()
{
    string s;
    cout << "String:\n";
    getline(cin, s);
 
    Reverse (s);
    
    cout << s << "\n";
    
system("pause");
return 0;
}
0
756 / 566 / 313
Регистрация: 24.02.2017
Сообщений: 2,005
25.07.2019, 22:24 3
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
33
34
#include <iostream>
using namespace std;
const int MAX = 40;
void reversit(char []);
int dlina(char[]);
 
int main()
{
    char stroka[MAX];
    cout<<"Enter a string: ";
    cin.get(stroka, MAX);
    reversit(stroka);
   for(int k=0; k<dlina(stroka); k++)cout<<stroka[k];
     system("pause");
    return 0;
}
 
void reversit(char s[])
{
    int len = dlina(s); int j;
    for(j=0; j<len/2; j++)
    {
        int temp; temp = s[j];
        s[j] = s[len-j-1]; s[len-j-1] = temp;
    };
 
}
 
int dlina(char DLC[])
{
    int n=0, i=0;
    while(DLC[i]!='\0'){n++; i++;};
    return n;
}
0
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
25.07.2019, 22:34 4
NaughtyFox,
C++
1
2
3
4
5
6
7
8
#include <alghorithm>
#include <string>
 
int main()
{
    std::string example = "Example";
    std::reverse(example.begin(), example.end());
}
0
0 / 0 / 0
Регистрация: 25.07.2019
Сообщений: 49
26.07.2019, 08:35  [ТС] 5
Спасибо, уже нашел решение
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.07.2019, 08:35
Помогаю со студенческими работами здесь

Перевернуть строку
всем привет! помогите, плиз: Введённую с клавиатуры строку А записать в обратном порядке в...

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

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

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


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

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

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