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

Используя стек, определить, является ли введённая с клавиатуры строка палиндромом. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с массивом с помощью функций http://www.cyberforum.ru/cpp-beginners/thread1006394.html
Всем доброго времени суток! Вообщем нужно выполнить следующее задание с использованием функций: В одномерном массиве, состоящем из n вещественных элементов, вычислить: · количество элементов массива, равных 0 · сумму элементов массива, расположенных после минимального элемента Упорядочит элементы массива по возрастанию модулей элементов. Дана целочисленная прямоугольная матрица....
C++ Чтение чисел из файла.Что делаю не так? По заданию нужно чтоб читались значения в виде массива из файла и провести с массивом в дальнейшем различные операции(формулами,графиком) и сразу ошибка. 12 `f' undeclared (first use this function) #include<stdio.h> #include<iostream> #include<fstream> #include<math.h> using namespace std; int main() http://www.cyberforum.ru/cpp-beginners/thread1006370.html
Дан целочисленный массив M*N.Разработать программу нахождения суммы особых элементов массива C++
Задача: Дан целочисленный массив M*N.Разработать программу нахождения суммы особых элементов массива. Особым считается элемент массива в своем столбце и наибольший в своей строке. Подскажите как осуществить поиск особого элемента.
C++ Непонятки с абстрактным классом
У нуба возник вопрос :) Вот объявляю я абстрактный Inline класс. Ну под инлайн я имею ввиду, что он без cpp, реализация в H. #pragma once class HEAD { public: HEAD(void) { }
C++ вывести статистику символов из txt файла http://www.cyberforum.ru/cpp-beginners/thread1006279.html
помогите пожалуйста, как вывести статистику символов из текстовой файла. Этот код выводит только из input. #include <string.h> #include <conio.h> #include <iostream> #include <map.h> using namespace std; int main() {
C++ Сортировка обменом массива. Усложненный вариант сортировки Сделать сортировку обменом массива случайных чисел от -Н до Н-1. Рвсположить элементы сначала парные по возрастанию, потом непарные тоже по возрастанию. подробнее

Показать сообщение отдельно
Alexxx7
97 / 33 / 5
Регистрация: 24.04.2012
Сообщений: 151
14.11.2013, 15:22     Используя стек, определить, является ли введённая с клавиатуры строка палиндромом.
проверте или работает
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 <cstring>
using namespace std;
bool is_polindrom( char* str);
int main()
{
    char *str = new char[256];
    cout<<"Iput string -> ";
    cin>>str;
    if(is_polindrom(str))
       cout << "The input string is a palindrome" << std::endl;
    else
       std::cout << "The input string is not a palindrome" << std::endl;
    return 0;
}
bool is_polindrom( char* str){
    char *rez = new char[256];
    int i = strlen(str - 1), j = 0;
    for(; i>=0; j++, i--)
        rez[j] = str[i];
    rez[j]= '\0';
    cout<<rez<<endl;
    return !strcmp(str, rez);
}
Добавлено через 27 минут
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
#include <iostream>
#include <cstring>
using namespace std;
bool is_polindrom( char* str);
int main()
{
    char *str = new char[256];
    cout<<"Iput string -> ";
    cin>>str;
    if(is_polindrom(str))
       cout << "The input string is a palindrome" << std::endl;
    else
       std::cout << "The input string is not a palindrome" << std::endl;
    return 0;
}
bool is_polindrom( char* str){
    char *rez = new char[256];
    int i = strlen(str)- 1, j = 0;//извените тут ошибся
    for(; i>=0; j++, i--)//тут по моему использован принцип последний пришёл - первый ушёл
        rez[j] = str[i];//последний символ полученной строки присваевам первому символу результирующей
    //и дальше перемещаемся в противоположных направлениях
    rez[j]= '\0';
    cout<<rez<<endl;
    return !strcmp(str, rez);
}
Добавлено через 21 час 7 минут
Вариант ну очень стекового решения
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <cstring>
using namespace std;
class node{
public:
    node *head;
    char symbol;
    node(void){
        head = NULL;
        symbol = '\0';
    }
};
class stek{
    node *ptr;
public:
    stek(){
        ptr = NULL;
    }
    void add_symbol(char sym){
        node *temp = new node;
        temp->symbol = sym;
        if(ptr == NULL)
            ptr = temp;
        else{
            temp->head = ptr;
            ptr = temp;
        }
    }
    char insert_symbol(void){
        char symbol= '\0';
        if(ptr != NULL){
            node *temp = ptr;
            symbol = ptr->symbol;
            ptr = ptr->head;
            delete temp;
        }
        return symbol;
    }
    void create_stek(char *str){
        while(*str != '\0')
            add_symbol(*(str++));
    }
    bool is_polindrom(char *str){
        create_stek(str);
        char *str_stek = new char[256];
        int i = 0;
        while( ptr != NULL)
            str_stek[i++] = insert_symbol();
        str_stek[i] = '\0';
        if( strcmp( str, str_stek))
            return false;
        else 
            return true;
    }
};
 
int main()
{
    stek a;
    char *str = new char[256];
    cout<<"Iput string -> ";
    cin>>str;
    if(a.is_polindrom(str))
        cout << "The input string is a palindrome" << std::endl;
    else
       std::cout << "The input string is not a palindrome" << std::endl;
 
    return 0;
}
 
Текущее время: 23:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru