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

Добавить в строковый класс функцию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Рекурсия, квадратные корни. http://www.cyberforum.ru/cpp-beginners/thread143808.html
Здравствуйте, очень нужна помощь с задачей на рекурсию "Написать рекурсивную функцию и её нерекурсивный аналог, произвести измерение времени работы написанных функций при разных значениях" А вычислить нужно вот такое выражение sqrt(6+2(sqrt(7+3(sqrt(8+4(sqrt(9+... и так далее. Саму тему рекурсия я вроде бы и понял, функция которая вызывает сама себя и т.д... но вот с этим выражением не могу...
C++ Циклические алгоритмы. Управление циклами. Организовать процесс угадывания числа: компьютер генерирует случайное число (1…1000), пользователь пытается его угадать за фиксированное число попыток (10). Компьютер должен выводить ответ на каждое число пользователя, говорящий, с какой стороны (большей или меньшей) было названо число. В случае, если пользователь угадал за отведенное число попыток, выйти из процесса угадывания. Помагите... http://www.cyberforum.ru/cpp-beginners/thread143785.html
C++ Граф-карта
Добрый день. Не знаю, люда надо писать или нет. Показалось что сюда. Задача: Дано: список точек и описание с какими точками они соединены в каких направленияю. Требуется нарисовать граф ("карту"). Пример: Номер точки лево право вверх вниз
люди я на зачёте C++
Ввести три цифры найти среди них минимальную, две оставшиеся через пробел вывести в текстовый файл . я сделал но не вывел в файл помогите пожалуйста #include<iostream.h> #include<stdlib.h> #include<fstream.h> #include<string.h> class Three { int n; int *p;
C++ где можно бесплатно и без регистрации скачать фильмы на английском с рус. субтитрами http://www.cyberforum.ru/cpp-beginners/thread143742.html
надо для учебы
C++ Циклы и линейные массивы Найдите все трехзначные числа, которые можно представить разностью между квадратом числа, образованного первыми двумя цифрами и квадратом третьей цифры. В линейном целочисленном массиве посчитать число смен знака между соседними элементами. Помагите написать код на C++ Заранее благодарен подробнее

Показать сообщение отдельно
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
10.06.2010, 17:35     Добавить в строковый класс функцию
Цитата Сообщение от Crudelis Посмотреть сообщение
ввожу 1ю строку, ввожу 2ю, когда дело доходит до умножения программа виснет и выдает ошибку.
После str3 = new char[tem]; добавь str[0] = '\0';

Добавлено через 9 минут
Вот убрал ошибки в твоем классе
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
class String
{
        char *str1;
        char *str3;
        int len;
public:
        String(){str1 = NULL; str3 = NULL;}
        ~String()
        {
             if (str1)
             {
                delete [] str1;
                str1 = NULL;
             }
             if (str3)
             {
                delete [] str3;
                str3 = NULL;
             }
        }
        void Inps1();
        String& operator *(String &N);
        String& operator =(String &N);
        void Showrez();
 
};
void String::Inps1()
{
        char a[256];
        gets(a);
        len=strlen(a)+1;
        str1 = new char[len];
        strcpy(str1,a);
}
String& String:: operator *(String &N)
{
        int tem=1;
        len=strlen(str1)+1;
        N.len=strlen(N.str1)+1;
        for(int i=0;i<len;i++)
        {
                for(int j=0;j<N.len;j++)
                {
                        if(str1[i]==N.str1[i])
                                tem++;
                }
        }
        str3 = new char[tem];
        str3[0] = '\0';
        for(int i=0;i<len;i++)
        {
                for(int j=0;j<N.len;j++)
                {
                        if(str1[i]==N.str1[j])
                                strncat(str3,&str1[i],1);
                }
        }
        return *this;
}
String& String:: operator =(String &N)
{
        if (str1)
           delete [] str1;
        if (str3)
           delete [] str3;
        str1 = new char[strlen(N.str1+1)];
        str3 = new char[strlen(N.str3+1)];
        strcpy(str1,N.str1);
        strcpy(str3,N.str3);
        len=N.len;
        return *this;
}
 
Текущее время: 23:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru