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

Debug Assertion Failed - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подчеркнуть в строке все вхождения заданного символа, если такие там есть http://www.cyberforum.ru/cpp-beginners/thread1205175.html
Дана строка и некий символ. Подчеркнуть в строке все вхождения заданного символа, если такие там есть. с++
C++ Поиск последовательности элементов в массиве В универе задали создать программу авторизации (иначе не знаю как объяснить). В начале на выбор предлагается два действия - добавить пользователя и авторизация. Все это нужно сделать с хешированием и считыванием/записью в файл. В итоге у меня получился вот такой вот код: #include "stdafx.h" #include <iostream> #include <conio.h> #include <fstream> #include <ctime> using namespace std;... http://www.cyberforum.ru/cpp-beginners/thread1205169.html
C++ Разработка параллельных алгоритмов для решения СЛАУ
Пишу курсовую на тему "Разработка параллельных алгоритмов для решения СЛАУ" У кого-нибудь есть что либо "работающее" по этой теме ?
C++ Заполнить матрицу так, чтобы элемент в нечетной строке был равен номеру столбца, а в четном — номеру строки
Помогите пожалуйста решить задачу. Заполнить целочисленную квадратную матрицу 10х10 так, чтобы каждый элемент в нечетной строке равен номеру столбца, а в четном - номеру строки. Заранее спасибо.
C++ Найти сумму элементов массива, отличающихся от среднего арифметического всех элементов всех элементов http://www.cyberforum.ru/cpp-beginners/thread1205143.html
Помогите пожалуйста решить задачу: Найти сумму элементов массива, отличающихся от среднего арифметического всех элементов всех элементов с положительными значениями и нечетными индексами не более чем на 2. Заранее спасибо.
C++ Сжать массив, выбросив из него отрицательные элементы - массив становится пустым Задачка такая: Разработать программу, обеспечивающую ввод с клавиатуры целых чисел и сохранение их в одномерном массиве. Ввод осуществляется до тех пор, пока не будет введено значение 0. После этого необходимо "сжать" массив, выбросив из него отрицательные элементы. Исходный массив и результат его преобразования вывести на экран монитора. Есть решение схожей задачи, написанное в Visual... подробнее

Показать сообщение отдельно
Sh@dow777
12 / 12 / 3
Регистрация: 10.12.2013
Сообщений: 655
11.06.2014, 17:53  [ТС]     Debug Assertion Failed
alsav22,
Цитата Сообщение от alsav22 Посмотреть сообщение
Вы его заполняли, чтобы он не был пуст? Если нет, то почему он должен быть не пуст? Только от того, что вы его открываете для чтения?
Вот подобная программа, которую я писал как мне объяснили и она работает. Я ее так же писал как эту.
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
#include <stdio.h>
 
int main()
{
    long long int x1,y1,x2,y2,x3,y3;
    long long int a,b;
 
    FILE *c;
    FILE *d;
 
    c = fopen("trian.dat", "r");
    fscanf(c,"%lld %lld\n%lld %lld\n%lld %lld\n%lld %lld", &x1, &y1, &x2, &y2, &x3, &y3, &a, &b);
    fclose(c);
 
    d = fopen("trian.sol", "w");
 
    if((a-x1)*(y1-y2)-(b-y1)*(x1-x2) >= 0 && (a-x2)*(y2-y3)-(b-y2)*(x2-x3) >= 0 && (a-x3)*(y3-y1)-(b-y3)*(x3-x1) >= 0)
        fprintf(d,"YES");
    else
        fprintf(d,"NO");
    fclose(d);
 
    return 0;
}
Повторюсь, она работает. Хотя с файлами в ней я работаю так же, как в этой программе.
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
#include <stdio.h>
 
int n, m;
int i, q, d;
 
void merge(int a[], int b[], int c[], int n, int m){
    int A(0), B(0);
 
    while((A + B) < (n + m))
    {
        if( (B >= m) || ( (A < n) && (a[A] >= b[B]) ) )
        {
            c[A + B] = a[A];
            ++A;
        } else
        {
            c[A + B] = b[B];
            ++B;
        }
    }
}
int main()
{
    FILE *f;
    FILE *e;
    f = fopen("merge.dat", "r");
 
    fscanf(f,"%d", &n);
    int *a = new int[n];
 
    for(i = 0; i < n;i++)
        fscanf(f,"%d", &a[i]);
    fscanf(f,"%d", &m);
    int *b = new int[m];
 
    for(q = 0;q < m;q++)
        fscanf(f,"%d", &b[q]);
    fclose(f);
 
    e = fopen("merge.sol", "w");
    int *c = new int[n + m];
 
    merge(a, b, c, n, m);
 
    for(d = 0; d < (n + m);d++)
        fprintf(e,"%d\n", c[d]);
    fclose(e);
 
    delete[]a;
    delete[]b;
    delete[]c;
 
    return 0;
}
Так в чем же тогда проблема? Я готов к ответу "в программисте".
 
Текущее время: 03:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru