Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
zombie9988
0 / 0 / 0
Регистрация: 25.02.2017
Сообщений: 1
#1

Является ли слово палиндромом, ошибка в заполнении массива - C++

25.02.2017, 20:33. Просмотров 143. Ответов 3
Метки нет (Все метки)

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

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
35
36
37
38
39
40
#include "stdafx.h"
#include "locale.h"
#include <iostream>
 
using namespace std;
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    char slovo[80], prov[80]; 
    cin >> slovo;
    int t=0, i=0, a;
    do
    {
        t++;
    } while (slovo[t] != '\0'); 
    a = t;
    t = a - 1;
    do
    {
        prov[i] = slovo[t];
        i++;
        t--;
    } while (t != -1);   
    t = 0;
    cout << prov << "\n";
    do
    {
        t++;
    } while (slovo[t] == prov[t]); 
    if(t==a) 
    {
        cout << "Верно";
    }else
    {
        cout << "Неверно";
    }
    system("pause");
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2017, 20:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Является ли слово палиндромом, ошибка в заполнении массива (C++):

Дано слово, состоящее только из строчных латинских букв. Проверьте, является ли это слово палиндромом.
Дано слово, состоящее только из строчных латинских букв. Проверьте, является ...

Является ли введённое слово с клавиатуры слово палиндромом
С помощью рекурсивной функции выяснить является ли введённое слово с клавиатуры...

Определить, является ли слово палиндромом
Подскажите в чем проблема. Программа, которая определяет является ли слово...

Определить, является ли слово палиндромом
Дорогие форумчане! Выручайте. Завтра нужно сдать контрольную, а я только...

Проверить является ли слово палиндромом
Символьная строка содержит одно слово. Проверить, будет ли оно читаться...

Строки. Является ли слово палиндромом
Дана строка является ли слово полендром

3
no swear
142 / 122 / 71
Регистрация: 01.07.2016
Сообщений: 707
Завершенные тесты: 1
25.02.2017, 20:48 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <bits/stdc++.h>
using namespace std;
int main()
{
    setlocale(LC_ALL,"rus");
    string s;
    cin >> s;
    int lens = s.length();
    bool f = true;
    for(int i=0;i<=lens/2;i++)
        if(s[i]!=s[lens-1-i])
        {
            f = false;
            break;
        }
    if(f)
        cout << "Слово является полиндромом";
    else
        cout << "Слово неявляется полиндромом";
}
0
zss
Модератор
Эксперт С++
6953 / 6515 / 4136
Регистрация: 18.12.2011
Сообщений: 17,202
Завершенные тесты: 1
25.02.2017, 21:07 #3
Лучший ответ Сообщение было отмечено zombie9988 как решение

Решение

zombie9988, В конце prov нет терминального нуля, инициализируйте его весь нулями:
C++
1
char slovo[80], prov[80]={0};
1
no swear
142 / 122 / 71
Регистрация: 01.07.2016
Сообщений: 707
Завершенные тесты: 1
25.02.2017, 21:08 #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
33
34
35
36
37
38
39
40
41
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    char slovo[80], prov[80];
 
    cin >> slovo;
    int t=0, i=0, a;
    do
    {
        t++;
    } while (slovo[t] != '\0');
    a = t;
    t = a - 1;
    do
    {
        prov[i] = slovo[t];
        i++;
        t--;
    } while (t != -1);
    t = 0;
 
    for(int j=0;j<i;j++)
        cout << prov[j];
 
    cout << endl;
 
    do
    {
        t++;
    } while (slovo[t] == prov[t]);
    if(t==a)
    {
        cout << "Верно";
    }else
    {
        cout << "Неверно";
    }
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2017, 21:08
Привет! Вот еще темы с решениями:

Является ли это слово палиндромом.
Дано слово, состоящее только из строчных латинских букв. Проверьте, является ...

Определить, является ли введённое слово палиндромом
Напишите программу, которая определяет, является ли введённое слово (без...

Проверить является ли заданное слово палиндромом
#include &lt;iostream.h&gt; int main() {char c; cout&lt;&lt;&quot;Vvedite slovo &quot;; cin&gt;&gt;c;...

Рекурсия: является ли введеное слово палиндромом?
Определить, является ли введеное слово палиндромом.


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

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

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