Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 18.12.2017
Сообщений: 13
1

Debug assertion failed!

18.12.2017, 18:23. Показов 2416. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, такая проблема. Пишу программу: Для двух файлов А и В, которые состоят из 20 элементов: А={ai}, B={bi} i=[1,20] необходимо рассчитать значение сi=((ai+bi)+56)/(ai+5)2 и записать его в файл С={ci}.
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
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <ctime>
#include <cstdio>
#include <conio.h>
 
#define N 20
 
int main()
{
    void view_file(FILE* file);
    srand(time(NULL));
    setlocale(LC_ALL, "rus");
    FILE *file1, *file2, *file3;
 
    file1 = fopen("file1.txt", "rt");
    file2 = fopen("file2.txt", "rt");
    file3 = fopen("file3.txt", "rt");
    double random;
    for (int i(0); i < N; ++i);
    {
        random = rand() % 100 + 101;
        fwrite(&random, sizeof(double), 1, file1);
        random = rand() % 100 + 1;
        fwrite(&random, sizeof(double), 1, file2);
 
    }
    rewind(file1);
    rewind(file2);
 
    int a, b, c;
    for (int i(0); i < N; ++i);
    {
        fwrite(&a, sizeof(double), 1, file1);
        fwrite(&b, sizeof(double), 1, file2);
        c = ((a / b) + 56) / (a + 5) ^ 2;
        fwrite(&c, sizeof(double), 1, file3);
    }
    rewind(file1);
    rewind(file2);
    rewind(file3);
 
    //std :: cout << std::endl << "First file: ";
    //view_file(file1); std::cout << std::endl;
    //std:: cout << std::endl << "Cesond file: ";
    //view_file(file2); std::cout << std::endl;
    //cout << endl << "Third file: ";
    
 
    _getch();
    return 0;
}
Миниатюры
Debug assertion failed!  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2017, 18:23
Ответы с готовыми решениями:

Программа выдает ошибку Debug Assertion Failed
#include &lt;stdio.h&gt; #include &lt;iostream&gt; int main() { setlocale(0, &quot;&quot;); int r, R, H;...

Debug assertion failed при чтении из файла
Не понимаю почему не работает программа. #define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt;...

Debug Assertion Failed! Expression: is_block_type_valid(header- _block_use)
Всем доброго времени суток! Столкнулся с проблемой при удалении элементов из двусвязного списка....

При работе с файлом появляется ошибка debug assertion failed
При работе с файлом вылезает ошибка debug assertion failed.Как устранить ошибку? Помогите,...

14
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,488
Записей в блоге: 1
18.12.2017, 18:36 2
так ты эти файлы-то создал чтоб оттуда читать что-то?
0
0 / 0 / 0
Регистрация: 18.12.2017
Сообщений: 13
18.12.2017, 19:56  [ТС] 3
создал А и В файл что бы в них записать рандом числа, оттуда взять значения а и b и подставить в формулу а потом получить ответ c и записать его в файл и вывести его

Добавлено через 51 минуту
Kuzia domovenok, создал А и В файл что бы в них записать рандом числа, оттуда взять значения а и b и подставить в формулу а потом получить ответ c и записать его в файл и вывести его
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,488
Записей в блоге: 1
18.12.2017, 20:36 4
Anatos, ах, да, тут вообще не в этом дело.
я увидел твоё fopen("file1.txt", "rt");
и решил, что ты из файла читаешь текст,
но затем ты какую-то ерунду написал. fwrite(&random, sizeof(double), 1, file1);
ты открыл файл для ЧТЕНИЯ, но почему-то в него ПИШЕШЬ
либо читай fopen("file1.txt", "rt")+fscanf, либо пиши fopen("file1.txt", "wt")+printf

либо открывай бинарный файл fopen("file1.txt", "rb")+fread, либо... ну ты понял короче, ты сделал всё шиворот навыворот крест накрест!
0
0 / 0 / 0
Регистрация: 18.12.2017
Сообщений: 13
18.12.2017, 22:31  [ТС] 5
Kuzia domovenok, я изменил на wt+ но мне нужно в файл3 записать значение с но ничего не записывается
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,488
Записей в блоге: 1
18.12.2017, 23:28 6
Цитата Сообщение от Anatos Посмотреть сообщение
Kuzia domovenok, я изменил на wt+

у тебя текстовый файл будет или бинарный?
0
0 / 0 / 0
Регистрация: 18.12.2017
Сообщений: 13
19.12.2017, 00:13  [ТС] 7
Kuzia domovenok, текстовый
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,488
Записей в блоге: 1
19.12.2017, 01:40 8
тогда забудь про fread
0
0 / 0 / 0
Регистрация: 18.12.2017
Сообщений: 13
19.12.2017, 01:51  [ТС] 9
Kuzia domovenok, так я и так его не юзаю
0
Модератор
Эксперт С++
13503 / 10755 / 6409
Регистрация: 18.12.2011
Сообщений: 28,704
19.12.2017, 08:49 10
Цитата Сообщение от Anatos Посмотреть сообщение
(a + 5) ^ 2;
Это не возведение в квадрат, а исключающее или с двойкой

Ну, и остальное:
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
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <stdlib.h>
#include <locale.h> 
 
#define N 20
 
//void view_file(FILE* file);
int main()
{
    double a, b;
    double c;
    double random;
    int i;
    FILE *file1, *file2, *file3;
    srand((unsigned)time(NULL));
    setlocale(LC_ALL, "rus");
 
    file1 = fopen("file1.txt", "wb");
    file2 = fopen("file2.txt", "wb");
    for (i=0; i < N; ++i)    //   ; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    {
        random = rand() % 100 + 101;
        fwrite(&random, sizeof(double), 1, file1);
        random = rand() % 100 + 1;
        fwrite(&random, sizeof(double), 1, file2);
 
    }
    fclose(file1);
    fclose(file2);
    file1 = fopen("file1.txt", "rb");
    file2 = fopen("file2.txt", "rb");
    file3 = fopen("file3.txt", "wb");
 
    for (i=0; i < N; ++i)
    {
        fread(&a, sizeof(double), 1, file1);
        fread(&b, sizeof(double), 1, file2);
        c = (a / b + 56.0) / ((a + 5) * (a+5) );
        fwrite(&c, sizeof(double), 1, file3);
    }
    fclose(file1);
    fclose(file2);
    fclose(file3);
 
    file3 = fopen("file3.txt", "rb");
    for (i=0; i < N; ++i)
    {
        fread(&a, sizeof(double), 1, file3);
        printf(" %lf\n",a);
    }
    fclose(file3);
    _getch();
    return 0;
}
0
0 / 0 / 0
Регистрация: 18.12.2017
Сообщений: 13
19.12.2017, 18:45  [ТС] 11
zss, к сожалению в файлы ничего не пишет

Добавлено через 1 час 20 минут
zss, и мне нужно вывести то что в файлах в консоль
0
Модератор
Эксперт С++
13503 / 10755 / 6409
Регистрация: 18.12.2011
Сообщений: 28,704
19.12.2017, 19:03 12
Цитата Сообщение от Anatos Посмотреть сообщение
в файлы ничего не пишет
Все пишется, только они при такой записи бинарные, их нельзя смотреть текстовым редактором.
Для доказательства строки 48-53 читают и выводят на консоль 3 файл. Аналогично можете прочитать и вывести на консоль первый и второй.
0
0 / 0 / 0
Регистрация: 18.12.2017
Сообщений: 13
19.12.2017, 20:25  [ТС] 13
zss, вот что выводит консоль
Миниатюры
Debug assertion failed!  
0
Модератор
Эксперт С++
13503 / 10755 / 6409
Регистрация: 18.12.2011
Сообщений: 28,704
19.12.2017, 21:25 14
Лучший ответ Сообщение было отмечено Anatos как решение

Решение

Anatos, Вы невнимательно переписали мой код.
Кто будет закрывать файлы после записи file3?
(строки 44-46 в моем коде).
И выводить содержимое файлов 1 и 2 я сказал надо АНАЛОГИЧНО!
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
    fclose(file1);
    fclose(file2);
    fclose(file3);
 
    file1 = fopen("file1.txt", "rb");
    for (i=0; i < N; ++i)
    {
        fread(&a, sizeof(double), 1, file1);
        printf(" %lf\n",a);
    }
    fclose(file1);
    file2 = fopen("file2.txt", "rb");
    for (i=0; i < N; ++i)
    {
        fread(&a, sizeof(double), 1, file2);
        printf(" %lf\n",a);
    }
    fclose(file2);
    file3 = fopen("file3.txt", "rb");
    for (i=0; i < N; ++i)
    {
        fread(&a, sizeof(double), 1, file3);
        printf(" %lf\n",a);
    }
    fclose(file3);
з.ы. И прекратите издеваться над глазами людей (и моими в частности).
Правилами форума запрещено вставлять коды в виде картинок!
0
0 / 0 / 0
Регистрация: 18.12.2017
Сообщений: 13
19.12.2017, 22:47  [ТС] 15
zss, спасибо большое все работает и впредь буду знать
0
19.12.2017, 22:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2017, 22:47
Помогаю со студенческими работами здесь

Ошибка Debug Asserition Failed Expression:(stream !=NULL)
Задание: Написать графф и в нем реализовать алгоритм Дейкстры и обход в ширину и высоту....

Debug Assertion Failed!
Доброго времени суток. Имеется код: #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std;...

Debug assertion failed
#include &lt;iostream&gt; using namespace std; class Employee { friend class Leader; private: char...

Debug assertion failed
Вот такая ошибка выскакивает. У меня диалоговый MFC проект. В ModelDlg.h есть член класса CStatic...

Debug assertion failed
Здравствуйте, ошибка выскакивает, как решить? Выскакивает при входе в конструктор класса ниже...

Debug assertion failed
Проблема при попытке релиза, дебажится при этом нормально, объясните мне, что может быть не так,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru