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

Динамическая память(толи я дурак, то ли правда лыжи не едут) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пожалуйста подскажите, что означает оператор! http://www.cyberforum.ru/cpp-beginners/thread950097.html
Доброго времени суток. Перевожу Сишный исходник в Делфи и столкнулся с такой строкой v5 = **(_DWORD **)v6->h_addr_list; Подскажите пожалуйста, что она означает, а в частности что означает **(_DWORD **)v6
C++ Чтение графических файлов Здравствуйте уважаемые участники форума. Есть задание для курсового проекта, связанная с программированием C++. Приведу небольшой пример: имеется графический файл, допустим формата jpeg, нужна такая программа, которая считает данный файл для дальнейшей обработки и последующем сохранение в какой либо свой формат. Если есть у кого возможность и знания в этой сфере, пожалуйста помогите(... http://www.cyberforum.ru/cpp-beginners/thread950094.html
Программирование циклического вычислительного процесса C++
12. Дан набор ненулевых целых чисел; признак его завершения — число 0. Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в наборе отсутствуют, то вывести 0. Даже представить не могу, как это можно реализовать средствами С++(вот такой вот я чайник). Хотя бы дайте алгоритм действий или натолкните на нужную мысль :)
C++ Как же все-таки лучше всего перегружать операторы?
1. Нужно ли использовать friend там, где это возможно? (или не стоит злоупотреблять где-нибудь?) 2. Стоит ли при перегрузке бинарного оператора "+" делать его обособленным от класса? // свободная ф-ия которая не friend для класса DATES // она просто использует публичный оператор operator += DATES operator + (const DATES& lhs, const DATES& rhs) { DATES result(lhs); result += rhs; //...
C++ Нахождение корня уравнения http://www.cyberforum.ru/cpp-beginners/thread950029.html
найти корни уравнения и отделить один из них методом деления отрезка пополам x^2=sinx
C++ как правильно создать opengl проэкт в IDE code blocks чтобы компилировался? создаю новый проект опенгл, но нифига не компилируется выдает кучу ошибок подробнее

Показать сообщение отдельно
RHB
33 / 33 / 8
Регистрация: 27.01.2013
Сообщений: 200
08.09.2013, 11:03     Динамическая память(толи я дурак, то ли правда лыжи не едут)
Есть код программы:
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
const int N=10;//razmer matritsi
const int NPOW=N*N;
const int RANDMAXIMUM=99;//maksimal'noe znachenie  vivodimoe rand()
 
 
int main()
{ 
    int i=0;//schetchiki i,j - obshie
    int j=0;//schetchiki i,j - obshie
    int k=0;//k - zapolnenie odnimernih massivov               
    int m=1;//l,m - dlia zapolnenia po spirali
    int l=1;//l,m - dlia zapolnenia po spirali     
    int **matr;//matritsa
    int *lin_a,*lin_b,*lin_c,*lin_d;//lineinie massivi
    /*
    vedeliaem pamiat'
    */
    {
    matr=new int*[N];
    lin_a=new int[NPOW];
    lin_b=new int[NPOW];
    lin_c=new int[NPOW];
    lin_d=new int[NPOW];;
    printf("NPOW - %d\nsizeof(int) - %d\nsizeof(lin_d) - %d\nelementov v massive(lin_d) - %d\n",NPOW, (sizeof(int)), (sizeof(lin_d)),(sizeof(lin_d)/sizeof(int)));
    if(NULL==matr)
    {
        printf("oshibka videlenia pamiati pod massiv (matr) \n");
        system("PAUSE");
        return -1;
    }
    if(NULL==lin_a)
    {
        printf("oshibka videlenia pamiati pod massiv (lin_a) \n");
        system("PAUSE");
        return -1;
    }
    if(NULL==lin_b)
    {
        printf("oshibka videlenia pamiati pod massiv (lin_b) \n");
        system("PAUSE");
        return -1;
    }
    if(NULL==lin_c)
    {
        printf("oshibka videlenia pamiati pod massiv (lin_c) \n");
        system("PAUSE");
        return -1;
    }
    if(NULL==lin_d)
    {
        printf("oshibka videlenia pamiati pod massiv (lin_d) \n");
        system("PAUSE");
        return -1;
    }
    for (i=0; i<N; i++)
    {
        matr[i]=new int[N];
    }
    while(k<NPOW)
    {
        lin_a[k]=0;
        lin_b[k]=0;
        lin_c[k]=0;
        lin_d[k]=0;
    }
    k=0;
    }
....................................................
    for (i=0; i<N; i++)
    {
        delete matr[i];
        matr[i]=NULL;
    }
    delete matr;
    matr=NULL;
    delete lin_a;
    lin_a=NULL;
    delete lin_b;
    lin_b=NULL;
    delete lin_c;
    lin_c=NULL;
    delete lin_d;
    lin_d=NULL;
    }
    system("PAUSE");
    return 0;
}
Сама программа отрабатывает только до строчки 28 (printf("NPOW - %....)
И выводит то, что прилеплено в рисунке. Но, если я правильно пониаю, если sizeof(int) = 4, то sizeof(lin_d) должно быть равно 400 и тогда элементов в массиве будет как и положено NPOW.
Короче говоря задача такая: создать динамический массив размером NPOW, обязательно через new.
В чем моя ошибка?

Добавлено через 8 минут
ЗЫ
Компилятор dev-c++ 5.4.2, набор настроек компилятора - TDM-GCC 4.7.1 64bit Release
В строке "Добавить эти команды к командной строке компоновщика" по умолчанию стоит(я не менял) -static-libgcc
Версия винды: семерка, 64бита, лицуха(оО)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru