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

Работа со строками и выделением памяти - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать рекурсивную и не рекурсивную функции вычисления полинома Чебышева первого ряда: http://www.cyberforum.ru/cpp-beginners/thread821722.html
Написать рекурсивную и не рекурсивную функции вычисления полинома Чебышева первого ряда: T0(x)=1; T1(x)=x Tn(x)=2xTn-1(x) – Tn-2(x) Спасибо большое.
C++ Lbg алгоритм Помогите мне нужно реализовать lbg алгоритм по сжатию изображения , кто нибудь может объяснить этот алгоритм с точки зрения реализация в коде , а то у меня все не то выходит ну или ссылку дать почитать пожалуйста http://www.cyberforum.ru/cpp-beginners/thread821696.html
Строки.Сортировка C++
Значит задание такое: Записати в реченні символи найкоротшого слова(першого з найкоротших,якщо їх декілька)у зворотньому порядку. Помогите пожалуйста. и если это возможно использовав функции для обработки строк(как можно больше)
Ошибка при выделении памяти C++
Когда убираю free(buf), то ошибки нету, а когда есть, то вылазит ошибка. Почему такое происходит? #include <stdlib.h> #include <stdio.h> int main() { int i=0, count; FILE *f=fopen("text.txt","rb"); char *buf=(char*) malloc(30);
C++ Дана действительная квадратная матрица порядка 8. В строках с отрицательным элементом на главной диагонали найти сумму всех элементов http://www.cyberforum.ru/cpp-beginners/thread821677.html
Дана действительная квадратная матрица порядка 8. В строках с отрицательным элементом на главной диагонали найти сумму всех элементов. в вижуал 2010 Добавлено через 39 минут тема актуальна
C++ Даны натуральные числа n, m. Получить сумму m последних цифр числа n Даны натуральные числа n, m. Получить сумму m последних цифр числа n. с пояснениями в 2010 версии заранее спс! Добавлено через 31 минуту буду благодарен за помощь! подробнее

Показать сообщение отдельно
Hellko
6 / 6 / 1
Регистрация: 17.11.2012
Сообщений: 65
29.03.2013, 00:27     Работа со строками и выделением памяти
Задание написать класс строк (что-то типа String).

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
#define MAX 100
class ascii {
private:
    char* str[MAX];
    int len;
public:
    ascii(const char*);
    ~ascii();
    void Insert(int, ascii);
};
 
ascii::~ascii() {
    for(int i=0; i<=len; i++) delete str[i];
}
 
ascii::ascii(const char* in) {
    int i=0;
    while(in[i]) {
    str[i]=new char;
    *str[i]=in[i];
    i++;
    }
    len=i;
    str[len]=new char;
    str[len]='\0';
}
 
int ascii::length() {
    return len;
}
 
void ascii::show() {
    for(int i=0; i<len; i++) printf("%c",*str[i]);
}
 
void ascii::Insert(int pos, ascii A) {
    int oldlen=len;
    for(int i=0; i<A.len; i++) {
    str[i+oldlen+1]=new char;
    len++;
    }
    for(int i=0; i<A.len+1; i++) 
        str[A.len+oldlen-i]=str[oldlen-i];
    int k=0;
    for(int i=0; i<A.len; i++) 
        str[i+pos]=A.str[k++];
 
 
}
Дело в том что при работе функции Insert, программа работает неадекватно. Выдает ошибку http://www.valar.ru/gallery/0313/z.png
Что-то с динамическим выделением памяти...

Не знаю как правильно организовать все это с динамической памятью...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru