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

Ошибка памяти при иниц. двумерного массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ CreateProcess http://www.cyberforum.ru/cpp-beginners/thread856781.html
Ребята, подскажите как с помощью CreateProcess запустить 10 процессов (блокнот), один получается?
C++ Строки и булевы функции Добрый вечер. Имею строку в которой записаны булевы переменные. Нужно как-то осуществить операцию умножения(но могут присутствовать члены между которыми стоит сложение), пока не могу представить себе как это возможно. ПРИМЕР: X1 *X2 *( ! X1 V ! X2) ; // В результате получается 0+0 = 0; !X это отрицание Как лучше записать выражение такого типа в строку, и осуществить с ним операцию... http://www.cyberforum.ru/cpp-beginners/thread856766.html
паттерн и строка C++ C++
Возникла необходимость производить поиск в строке по паттерну, который может содержать символ '*' и '?'.Например: искать в строке "abcdefg" по паттерну "a*g". Смысл символа '*' классический — любое количество любых символов а '?'-сколко '?' столко символов. Программа должна напечатать 'abcdefg'. Другой пример:паттерн равен "а*c??f".Программа должна напечатать 'abcdef'. Заранее спасибо.
Размер структуры KEYBOARD_ATTRIBUTES C++
Пытаюсь портировать с c++ структуру KEYBOARD_ATTRIBUTES ( http://msdn.microsoft.com/ru-RU/library/windows/hardware/ff542326(v=vs.85).aspx ) в другой язык, и столкнулся с интересной проблемой: Если в вижалстудии сделать sizeof(KEYBOARD_ATTRIBUTES) получаем 28 байт НО: sizeof(KEYBOARD_ID) + (sizeof(USHORT) * 4) + sizeof(ULONG) + (sizeof(KEYBOARD_TYPEMATIC_PARAMETERS) * 2) = 26 Вопрос, почему?...
C++ Вывести данные о старших по возрасту студентах http://www.cyberforum.ru/cpp-beginners/thread856697.html
Задание: Дана информация о студентах. Запись имеет вид: фамилия, год рождения, место рождения, факультет. Вывести данные о старших по возрасту студентах, предполагая, что год рождения может быть одинаков. Пока не получается даже просто ввести данные.. После вывода сообщения Факультет, выводятся еще какие-то символы... Как это можно исправить? #pragma argsused #include<iostream.h>...
C++ очень нужно откомментировать код с классами доброго времени суток:) нужна помощь :) пропустил лекции (по уважительным причинам) и не могу понять что к чему .помогите откомментировать прогу,она рабочая,нашел на форуме)очень нужно) файл прикреплен)) #include "stdafx.h" #include <iostream> #include <conio.h> #include <cstring> #include <ctime> #include <cstdlib> подробнее

Показать сообщение отдельно
Xipxop
 Аватар для Xipxop
481 / 9 / 2
Регистрация: 28.12.2011
Сообщений: 150
05.05.2013, 20:06     Ошибка памяти при иниц. двумерного массива
делаю программу, вычитающие коды Хэмминга(цикл.).

Встретился с одной непонятной мне проблеме:
При Инициализации двухмерного массива(int aaa[999][999]) у меня вылетает критическая ошибка, которая говорит, что
неизвестное значение this
Необработанное исключение типа "System.StackOverflowException" произошло в CyclingCode.exe


Вот код:
Кликните здесь для просмотра всего текста
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
102
103
/*void perevernyt_massiv(int mas[][999], int nowMas, int *MaxMas, int nowMaxMas)
    {
        int i,j;
        for (i=0,j=MaxMas[nowMaxMas]-1;i<j;i++,j--) 
        { 
            swap(mas[nowMas][i],mas[nowMas][j]);
        }
    }
 
    void pisat_massiv(int mas[][999], int nowMas, int *MaxMas, int nowMaxMas)
    {
        for(int i=0;i<MaxMas[nowMaxMas];i++)
        {
            DebugBox->Text+=mas[nowMas][i].ToString();
        }
        DebugBox->Text+="\n";
    }
 
    void transform_massiv(int mas[][999], int nowMas, int *MaxMas, int nowMaxMas)
    {
        for(int i=0;i<MaxMas[nowMaxMas];i++)
        {
            mas[nowMas][i]=mas[nowMas][i]*i;
        }
    }
 
    void sortirovka(int mas[][999], int nowMas, int *MaxMas, int nowMaxMas)
    {
        for(int i=0;i<MaxMas[nowMaxMas];i++)
            for(int b=0;b<MaxMas[nowMaxMas];b++)
                if(mas[nowMas][i]>mas[nowMas][b])
                    swap(mas[nowMas][i],mas[nowMas][b]);
    }
 
    void nova_dlina(int mas[][999], int nowMas, int *MaxMas, int nowMaxMas)
    {
        int a=MaxMas[nowMaxMas];
        MaxMas[nowMaxMas]=0;
        for(int i=0;i<a;i++)
        {
            if(mas[nowMas][i]!=0)
            {MaxMas[nowMaxMas]++;}
        }
        MaxMas[nowMaxMas]++;
    }*/
    
    void scet_coda()
    {
        int MaxArrCode[999];
        int Code1[999][999];
        /*int DopCode[2][999];
        int NowCode=0;
        int MaxArrDopCode[2]={0};
        //---------------------
        DebugBox->Text=L"";
        textBox3->Text=L"";
        //---------------------
        MaxArrCode[0]=textBox1->Text->Length;
        MaxArrDopCode[0]=textBox2->Text->Length;
        array<Char>^Tbox1;  Tbox1=textBox1->Text->ToCharArray(0,MaxArrCode[0]);
        array<Char>^Tbox2;  Tbox2=textBox2->Text->ToCharArray(0,MaxArrDopCode[0]);
        
        DebugBox->Text+="Размер Кода1="+MaxArrCode[0].ToString()+"\n";
        DebugBox->Text+="Размер Кода2="+MaxArrDopCode[0].ToString()+"\n";
 
        for(int i=0;i<MaxArrCode[0];i++){Code1[0][i]=int(Tbox1[i])-48;}
        DebugBox->Text+="Полученый массив1=";  pisat_massiv(Code1,0, MaxArrCode,0);
        for(int i=0;i<MaxArrDopCode[0];i++){DopCode[0][i]=int(Tbox2[i])-48;}
        DebugBox->Text+="Полученый массив2=";  pisat_massiv(DopCode,0, MaxArrDopCode,0);
        //------
        perevernyt_massiv(Code1,0, MaxArrCode,0);
        DebugBox->Text+="Полученый перевернутый массив1="; pisat_massiv(Code1,0, MaxArrCode,0);
        perevernyt_massiv(DopCode,0, MaxArrDopCode,0);
        DebugBox->Text+="Полученый перевернутый массив2="; pisat_massiv(DopCode,0, MaxArrDopCode,0);
        //------
        transform_massiv(Code1,0, MaxArrCode,0);
        DebugBox->Text+="Получаем числа1="; pisat_massiv(Code1,0, MaxArrCode,0);
        transform_massiv(DopCode,0, MaxArrDopCode,0);
        DebugBox->Text+="Получаем числа2="; pisat_massiv(DopCode,0, MaxArrDopCode,0);
        //------
        sortirovka(Code1,0, MaxArrCode,0);
        DebugBox->Text+="Сортировка1="; pisat_massiv(Code1,0, MaxArrCode,0);
        sortirovka(DopCode,0, MaxArrDopCode,0);
        DebugBox->Text+="Сортировка2="; pisat_massiv(DopCode,0, MaxArrDopCode,0);
        //------
        nova_dlina(Code1,0, MaxArrCode,0);      DebugBox->Text+="Размер Кода1="+MaxArrCode[0].ToString()+"\n";
        nova_dlina(DopCode,0, MaxArrDopCode,0); DebugBox->Text+="Размер Кода2="+MaxArrDopCode[0].ToString()+"\n";
        //------
        DebugBox->Text+="Теперь код1 Виден так="; pisat_massiv(Code1,0, MaxArrCode,0);
        DebugBox->Text+="Теперь код2 Виден так="; pisat_massiv(DopCode,0, MaxArrDopCode,0);
        //------
        if(Code1[NowCode][0]>DopCode[0][0])
        {
            DopCode[1][MaxArrDopCode[1]]=Code1[NowCode][0]-DopCode[0][0];
        }*/
    }
 
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                 if(textBox1->Text!="" && textBox2->Text!="")
                 {
                    scet_coda();
                 }
             }


Пометка к коду:
1)Это часть кода из Windows Forms(Название проекта в VS2008).
2)Даже заккоментировав почти весь код, запуская функцию(нажимая на кнопку Button1) он ругается на их инициализацию
3)Textbox 1 и 2- их значения ввиде Двоичного кода(1 и 0)


Не по теме:

Знаю, что несовсем в ту тему, но ошибка думаю пустяковая... Для этой части форума

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