С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
5 / 5 / 0
Регистрация: 22.10.2013
Сообщений: 103

Ошибка вывода строки на экран

13.12.2013, 00:55. Показов 588. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста в чем ошибка, задача была в том что бы создать строку которую хранит в себе пересечение двух других. Так же выслушал бы советы по коду...

Файл my_string.h :
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
#ifndef _MY_STRING
#define _MY_STRING
 
class my_string
{
private:
    char *_str;
public:
 
    my_string();
    
    my_string(char *str);
    
    my_string(int size);
 
    my_string(const my_string &tmp);
 
    my_string get_concat(my_string x);
 
    void show();
 
    my_string get_count_and_str(my_string first, my_string second);
 
    ~my_string();
};
 
#endif
Файл my_string.cpp :
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include "my_string.h"
 
using std::cout;
using std::endl;
 
my_string::my_string()
{
    this->_str = nullptr;
}
 
my_string::my_string(char *str)
{
    if(!_str)
        delete [] _str;
    this->_str = new char[strlen(str) + 1];
    strcpy(this->_str, str);
}
 
my_string::my_string(int size)
{
    if(!_str)
        delete [] _str;
    this->_str = new char[size];
}
 
my_string::my_string(const my_string &tmp)
{
    if(!_str)
        delete [] _str;
    _str = new char[strlen(tmp._str)];
    strcpy(_str, tmp._str);
}
 
my_string my_string::get_concat(my_string x)
{
    if(!_str)
        delete [] _str;
    char* tmp = new char[strlen(x._str) + strlen(_str) + 1];
    strcpy(tmp, _str);
    strcat(tmp, " ");
    strcat(tmp, x._str);
    return tmp;
}
 
void my_string::show()
{
    cout << _str << endl;
}
 
my_string::~my_string()
{
    if(!_str)
        delete [] _str;
}
 
my_string my_string::get_count_and_str(my_string first, my_string second)
{
    int counter = 0;
    bool flag = false;
    for(int i = 0; i < strlen(first._str); i++)
    {
        for(int j = 0; j < strlen(second._str); j++)
        {
            if(first._str[i] == second._str[j])
            {
                if(!flag)
                {
                    counter++;
                    flag = true;
                }
            }           
        }
        flag = false;
    }
 
    my_string tmp(counter);
    int tmp_count = 0;
    if(!tmp._str)
        delete [] tmp._str;
    _str = new char[counter];
    for(int i = 0; i < strlen(first._str); i++)
    {
        for(int j = 0; j < strlen(second._str); j++)
        {
            if(first._str[i] == second._str[j])
            {
                if(!flag)
                {
                    tmp._str[tmp_count] = first._str[i];
                    tmp_count++;
                    flag = true;
                }
            }           
        }
        flag = false;
    }
    
    return tmp;
}
Файл main.cpp :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include "my_string.h"
 
using std::cout;
using std::endl;
 
int main ()
{
    my_string first("sdqcg"), second("rgfas34"), third;
 
    /*third = first.get_concat(second);
    third.show();*/
 
    third = third.get_count_and_str(first, second);
    third.show();
 
    return 0;
}
Миниатюры
Ошибка вывода строки на экран  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.12.2013, 00:55
Ответы с готовыми решениями:

Для вывода матрицы на экран использовать рекурсивную функцию вывода одной строки матрицы
Рекурсивная функция в С++. срочно! ДЛЯ вывода матрицы на экран построчно использовать...

Резидентная программа для периодического вывода строки на экран
Поставили такую задачу: 1. Написать программу для периодического вывода на экран: • Строка,...

Ошибка вывода текста на экран
Добрый день! Помогите разобраться. В приложении win32 нужно вывести на экран значение переменной...

1
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
13.12.2013, 01:37
Правило трёх

Добавлено через 10 минут
С данными в коде строками, пересечение как должно выглядеть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2013, 01:37
Помогаю со студенческими работами здесь

Ошибка в коде вывода символа на экран!
Здраствуйте, есть код программы на ассемблере. Работаю в тасм. Когда запускаю программу выдает...

Ошибка вывода односвязного списка на экран
Сначала считал односвязный список из файла, но теперь какая то странная ошибка - односвязный список...

Программа вывода строки текста на экран в хекс-коде
Есть готовая программа в хексах. Выводит текст на экран. Стояла задача перевести ее в листинг на...

Составить макрос вывода строки вашей ФИО на экран
Составить макрос вывода строки вашей ФИО на экран. Желательно не сложным кодом для 3 курса. ...

Как сделать enter после вывода строки на экран
Есть простейшая прога которая спрашивает нас о дне/времени года и тд, но как сделать так, чтобы...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru