|
Страуструп
|
|
Ошибка: Нарушение прав доступа17.01.2011, 18:39. Показов 1956. Ответов 2
Метки нет (Все метки)
Здравствуйте, пишу программу для минимизации канонических выражений (сумм минтермов).
Проблема такая - всё компилируется, а при запуске(после ввода символов с клавиатуры VS2008 выдает следующее: Первый этап обработки исключения в "0x0041181a" в "shablon.exe": 0xC0000005: Нарушение прав доступа при записи "0xccccccd0". Необработанное исключение в "0x0041181a" в "shablon.exe": 0xC0000005: Нарушение прав доступа при записи "0xccccccd0". Программа "[1280] shablon.exe: Машинный код" завершилась с кодом 0 (0x0). ТЕКСТ ПРОГРАММЫ: #include "stdafx.h" #include<iostream> #include <string> #include <sstream> #include <fstream> #include<algorithm> #include<stdexcept> using namespace std; #define TRUE 1 #define FALSE 1 #define MAX_CUBES 50 #define MAX_VARS 2 typedef unsigned short WORD; struct cube{ WORD t; //собственно минтерм WORD f; //его дополнение }; typedef struct cube CUBE; // ========== Функции ==================================== //======================================== ================ //======== переводит число из формата string в формат unsigned_short ======================= unsigned short string_to_unsigned_short( const string& s ) { istringstream i(s); unsigned short x; if (!(i >> x)) return 0; return x; } //== Считывает строки-минтермы с клавиатуры void ReadMinterms(CUBE** tempCube) { string S; CUBE D; for (int e=0; e<MAX_VARS; e++){ cout<<"Enter minterm: "<<e<<endl; getline(cin,S); D.t= string_to_unsigned_short(S); D.f=1^D.t; tempCube[e][1]=D; } } //проверяет содержит ли w точно одну 1 int Oneone(WORD w) { int ones,b; ones=0; for (b=0; b<MAX_VARS; b++){ if (w&1) ones++; w=w>>1; } return((ones==1)); } int Combinable(CUBE C1, CUBE C2) { WORD twordt, twordf; twordt=C1.t^C2.t; twordf=C1.f^C2.f; return( (twordt==twordf)&&Oneone(twordt)); } void Combine(CUBE C1, CUBE C2, CUBE *C3) { C3->t = C1.t&C2.t; C3->f = C1.f&C2.f; } //проверка на равенство int EqualCubes(CUBE C1, CUBE C2) { return ((C1.t==C2.t)&&(C1.f==C2.f)); } void main() { CUBE cubes[MAX_VARS+1][MAX_CUBES]; int covered[MAX_VARS+1][MAX_CUBES]; int numCubes[MAX_VARS+1]; int m; int j,k,p; CUBE tempCube; int found; //инициализация числа m-кубов каждого уровня m for (m=0; m<MAX_VARS+1; m++) numCubes[m]=0; CUBE* pT=&tempCube; ReadMinterms(&pT); for (m=0; m<MAX_VARS; m++){ for (j=0; j<numCubes[m]; j++){ for (k=j+1; k<numCubes[m]; k++){ if (Combinable(cubes[m][j], cubes[m][k])){ //отмечаем покрытые кубы covered[m][j]=TRUE; covered[m][k]=TRUE; Combine(cubes[m][j],cubes[m][k], &tempCube); found=FALSE; for (p=0; p<numCubes[m+1];p++) if (EqualCubes(cubes[m+1][p],tempCube)) found=TRUE; if (!found) { numCubes[m+1]=numCubes[m+1]+1; cubes[m+1][numCubes[m+1]-1]=tempCube; covered[m+1][numCubes[m+1]-1]=FALSE; } } } } } cube A; for (m=0;m<MAX_VARS; m++){ for (j=0;j<numCubes[m];j++){ if (!covered[m][j]) { A=cubes[m][j]; cout<<A.f<<endl; cout<<A.t<<endl; } } } } |
|
| 17.01.2011, 18:39 | |
|
Ответы с готовыми решениями:
2
Ошибка: нарушение прав доступа по адресу Ошибка: нарушение прав доступа при чтении Ошибка: Нарушение прав доступа при чтении |
| 17.01.2011, 18:56 | |
|
Не по теме: Ник, конечно.... :good:
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
| 18.01.2011, 05:24 | ||||||
Сообщение было отмечено как решение
Решение
в функции ReadMinterms() тоже неправильно tempCube[e][1]=D;, что за 1 ?
0
|
||||||
| 18.01.2011, 05:24 | |
|
Помогаю со студенческими работами здесь
3
Ошибка обращения к строке (нарушение прав доступа чтения) Ошибка: нарушение прав доступа при чтении по адресу Ошибка времени исполнения: нарушение прав доступа при чтении Ошибка 0xC0000005: нарушение прав доступа при чтении по адресу 0x3854BDD4 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|