Форум программистов, компьютерный форум, киберфорум
Наши страницы

Перераспределение динамической памяти - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сумма ряда http://www.cyberforum.ru/cpp-beginners/thread189937.html
#include <iostream.h> #include <math.h> void main() { const float eps=0.001; int n=0; float S=0,a=1,x,p; cout<<"Введите x:\n"; cin>>x; do
C++ Код Хэмминга Доброго времени суток.Возник вопрос.Кто нибудь может выложить код или дать ссылку на исходник с реализацией кодирования внесения ошибок и декодирования по методу Хэмминга на c++.Просто хочется... http://www.cyberforum.ru/cpp-beginners/thread189921.html
AnsiString C++
НЕ могли бы сказать, почему при считывании из файла в переменную типа AnsiString компилятор выдает ошибку??? вот код: Код: ...
C++ Удаление элемента стека
Всем привет, решал лабу по стекам и столкнулся с одной проблемой, не могу придумать как удалить элемент стека, вот мой код #include<stdio.h> #include<conio.h> #include<iostream.h> #include...
C++ Для каждого массива определить среднее арифметическое наибольшего и наименьшего значений http://www.cyberforum.ru/cpp-beginners/thread189895.html
даны двумерные вещественные массивы D, A для каждого массива определить среднее арифметическое наибольшего и наименьшего значений массива
C++ число rand() почему у меня компилятор делает числа случайными только когда я пошагово выполняю прогу ?!? как только запускаю чтоб сама выполнялась, дает одно и то же число. srand(time(NULL)); включил. для... подробнее

Показать сообщение отдельно
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
16.11.2010, 12:05
Цитата Сообщение от accept Посмотреть сообщение
знаешь, там еще реаллочить нужно строки (те, которые были), уменьшая до длины три
а новые строки просто выделить с длиной три, и всего две штуки
кажись сделано перераспределение и обработка всех последствий
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
#include <stdio.h>
#include <stdlib.h>
 
void freeAfter(int *ptr, int k);
 
int main(void)
{
    const int m = 3, n = 5;
    int **vect;
    int **a;
 
    // Allocating memory for m * n
    if (!(vect = (int** ) malloc(m * sizeof(int*))))
        exit(1);
 
    for (int i = 0; i < m; ++i)
        if(!(vect[i] = (int *) malloc(n * sizeof(int))))
        {
            free((int* )vect);
            exit(1);
        }
 
    // Reallocating memory for n * m
    if (!(a = (int** ) realloc((int* )vect, n * sizeof(int*))))
    {
        // Delete Allocated memory
        freeAfter((int* )vect, m);
        free((int* )vect);
        exit(1);
    }
 
    vect = a;
 
    for (int i = 0; i < m; ++i)
        if(!(vect[i] = (int *) realloc(vect[i], m * sizeof(int))))
        {
            freeAfter((int* )vect, m);
            free((int* )vect);
            exit(1);
        }
 
    for(int i = m; i < n; ++i)
        if(!(vect[i] = (int *) malloc(m * sizeof(int))))
        {
            freeAfter((int* )vect, m);
            free((int* )vect);
            exit(1);
        }
 
    // Delete Allocated memory
    for (int i = 0; i < n; ++i)
        free(vect[i]);
    free((int* )vect);
 
    printf("\n");
    system("PAUSE");
    return 0;
 
}
 
void freeAfter(int *ptr, int k)
{
    for (int i = 0; i < k; ++i)
        free((void* )ptr[i]);
}
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru