Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
Аноним
 Аватар для Di3go
5 / 5 / 4
Регистрация: 15.12.2013
Сообщений: 149

Проверить на "зеркальность" строку текста

13.10.2015, 16:58. Показов 1429. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Задание: Определить на зеркальность текст, введенный в Edit. Использовать стеки, вручную написанные.

Вроде я всё сделал, но вот ошибка вылезает, когда нужно проверять(скриншот прикреплен). Как можно исправить положение?

Код:

Unit1

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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
stack *one = 0;
stack *two = 0;
int Lenght = 0;
int Middle = 0;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    AnsiString tmp = Edit1->Text;
    char *ch = new char[tmp.Length()];
    Lenght = tmp.Length();
    Middle = DetectMiddle(ch, Lenght);
    //Label1->Caption = Middle;
    ToStack(one, two, ch, Lenght);
    if(MirrorText(one, two, Middle))
        Label1->Caption = "True";
    else
        Label1->Caption = "False";
}
//---------------------------------------------------------------------------
Unit2
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
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
 
 
stack *push(stack *top, char text)
{
    stack *pv = new stack;
    pv->text = text;
    pv->next = top;
    return pv;
}
 
stack *pop(stack *top)
{
    stack *pv = top->next;
    delete top;
    return pv;
}
 
int DetectMiddle(char *ArrayText, int lenght)
{
    if(lenght % 2 == 0)
        return lenght / 2;
    else
        return lenght / 2 + 1;
}
 
void ToStack(stack *one, stack *two, char *Array, int lenght)
{
    for(int i = 0; i < lenght; i++)
        one = push(one, Array[i]);
    for(int i = 0; i >= 0; i--)
        two = push(two, Array[i]);
}
 
bool MirrorText(stack *one, stack *two, int Middle)
{
    char tmp1, tmp2;
    for(int i = 1; i <= Middle; i++)
    {
        tmp1 = one->text;
 
        one = pop(one);
        tmp2 = two->text;
 
        two = pop(two);
        if(tmp1 != tmp2)
            return false;
    }
    return true;
}
Миниатюры
Проверить на "зеркальность" строку текста  
Вложения
Тип файла: zip Project.zip (47.4 Кб, 4 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.10.2015, 16:58
Ответы с готовыми решениями:

Описать и проверить процедуру Замена(T,i,j), заменяющую i–ю строку текста на копию j–й строки
Прошу помочь с задачей на динамические переменные и списки. Сама задача: const d =…; {длина строки} n =…; ...

Введите три отдельные строки текста. Проверить каждую строку заканчивается пробелом
try { Console.WriteLine(&quot;Введіть змінну а:&quot;); string a = Console.ReadLine(); ...

Ввести строку текста и строку поиска, найти местоположение первого вхождения строки поиска в строку текста
Здравствуйте, не могли бы вы помочь новичку в программировании))) Нужно написать програмку, которая считывает с клавиатуры строку текста...

1
75 / 26 / 22
Регистрация: 22.06.2013
Сообщений: 127
18.10.2015, 12:32
Цитата Сообщение от Di3go Посмотреть сообщение
AnsiString tmp = Edit1->Text;
C++
1
2
3
char *ch = new char[tmp.Length()];
Lenght = tmp.Length();
Middle = DetectMiddle(ch, Lenght);
Так вы забыли в ch записать содержимое tmp:
C++
1
ch = strdup(tmp.c_str());
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.10.2015, 12:32
Помогаю со студенческими работами здесь

Зеркальность матрицы
Дана квадратная матрица A порядка M. Зеркально отразить ее эле-менты относительно главной диагонали (при этом элементы главной диа-гонали...

Зеркальность строки
Помогите, пожалуйста, написать программу на C#, которая проверяет на зеркальность введенную строку.

Можно ли в одном текстовом поле БД Access одну строку текста сделать одним цветом, а другую строку текста другим цветом?
Уважаемые специалисты по Access! Подскажите, пожалуйста - Можно ли в одном текстовом поле БД Access одну строку текста сделать одним...

Проверка на зеркальность двух строк
Добрый день! У меня такая проблема нужно сделать программу проверка на зеркалость двух строк! У меня 3 способа,и с одним из. Них...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru