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

Segmentation fault - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Объяснить работу программы http://www.cyberforum.ru/cpp-beginners/thread1196167.html
Здравствуйте. Такая задача была: Задача 2. Дано натуральное число. Определить, является ли число палиндромом, т.е. читается одинаково слева направо и справа налево. Массивы и строки не использовать. Нашёл на форуме подходящую рабочую программу, но не могу полностью понять (и объяснить), как она работает. Вроде в цикле с предусловием аналоги mod/div, а в цикле с параметром что - не понятно....
C++ Вывод двумерного массива Нужно сделать вывод как на картинке. я пробовал но у меня возникли некоторые сложности for(int i = 0; i<26; ++i) { for ( int j=0; j<26; ++j) { int sdvig = i+j; http://www.cyberforum.ru/cpp-beginners/thread1196164.html
Организовать класс треугольник, определенный по координатам вершин и содержащий конструктор, деструктор C++
помогите пожалуйста исправить лабораторную, так как треугольник задан векторами, в нем надо убрать переменные Р h и Dlina и сделать функции возвращающими, задание гласит:Организовать класс треугольник, определенный по координатам вершин и содержащий конструктор, деструктор, функции нахождения длин сторон, периметра, и высоты на большую сторону. Исходный код: #include <iostream> #include...
Ввести одномерный массив из n элементов. Определить число различных элементов в нем C++
Возникла небольшая проблема. Нужно сделать элементарное задание, но чтобы было несколько функций пользователя. Задание: Ввести одномерный массив из n элементов. Определить число различных элементов в нем. #include "iostream" #include "conio.h" using namespace std; void mass (int *i) { int j, A; j=0; while (j<*i)
C++ Описание функции getopt http://www.cyberforum.ru/cpp-beginners/thread1196108.html
Распишите описание функции getopt и её использование с ключами.
C++ Ошибка при компиляции Unresolved external Доброго времени суток. У меня в программе есть клас Masiv, объявленный с идентификатором extern. Далее я в одной из функцый его иницыализирую и исползую, а потом в и других функцыях исползую. Сам клас описан в другом файле и подинкуденый к в той, где я его исползую. При компиляции выдает ошибку Error: Unresolved external '_Masiv'. Не понимаю где ошибка, файл где описан класс подключен, нет... подробнее

Показать сообщение отдельно
Kaster
0 / 0 / 0
Регистрация: 02.06.2014
Сообщений: 9

Segmentation fault - C++

02.06.2014, 08:13. Просмотров 548. Ответов 5
Метки (Все метки)

Доброго времени суток. Столкнулся в программе с ошибкой Segmentation fault. Вообще, задача отсортировать данные по одному из параметров, но из-за ошибки я до до написания сортировки не доберусь. Сигнал SIGSEGV отладчик возвращает с указанием на 99 строку:
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
#include <iostream>
#include <stdio.h>
#include <cstdio>
#include <cstdlib>
#include <string>
 
using namespace std;
 
int main()
{
    FILE *d;
    struct L
    {
        char n[30];
        float w;
        float c;
        float p;
        float f;
        float ch;
    } *spis;
    int ln,l,m,M,*A;
    unsigned n;
    char **B;
    float **C;
    printf("\n\tДанная программа записывает сведения о продуктах\n\tи организовывает выбор продуктов с содержанием\n\tжиров менее заданного значения.\n");     //Описание
    printf("\nВведите число продуктов: ");     //Задание размера массива
    scanf("%i",&ln);
    spis=new L[ln];
    printf("\nВводите сведения о продуктах:\n");     //Приглашение
    A=new int[ln*6];
    for(l=0,m=0 ; l<ln || m<l*6 ; l++)
    {
        printf("\nНазвание %i-го: ",l+1);
        scanf("%s",spis[l].n);
        A[m++]=sizeof(spis[l].n);
        printf("Вес одного стакана: ");
        scanf("%f",&spis[l].w);
        A[m++]=sizeof(spis[l].w);
        printf("Калорийность: ");
        scanf("%f",&spis[l].c);
        A[m++]=sizeof(spis[l].c);
        printf("Белки: ");
        scanf("%f",&spis[l].p);
        A[m++]=sizeof(spis[l].p);
        printf("Жиры: ");
        scanf("%f",&spis[l].f);
        A[m++]=sizeof(spis[l].f);
        printf("Углеводы: ");
        scanf("%f",&spis[l].ch);
        A[m++]=sizeof(spis[l].ch);
    }
    M=m;
    d=fopen("diet","w");
    for(l=0 ; l<ln ; l++)
    {
        fputs(spis[l].n, d);
        fscanf(d, "%f" ,&spis[l].w);
        fscanf(d, "%f" ,&spis[l].c);
        fscanf(d, "%f" ,&spis[l].p);
        fscanf(d, "%f" ,&spis[l].f);
        fscanf(d, "%f" ,&spis[l].ch);
    }
    fclose(d);
    delete [] spis;
    d=fopen("diet","r");
    B=new char*[M];
    C=new float*[M];
    for(m=0 ; m<M ; )
    {
        B[m]=new char(sizeof(A[m]));
        fgets(B[m] , A[m] , d);
        fseek(d , A[m] , (m=0)? 0 : 1);
        m++;
        C[m]=new float(sizeof(A[m]));
        fread(C[m] , A[m] , 1 , d);
        fseek(d , A[m] , 1);
        m++;
        C[m]=new float(sizeof(A[m]));
        fread(C[m] , A[m] , 1 , d);
        fseek(d , A[m] , 1);
        m++;
        C[m]=new float(sizeof(A[m]));
        fread(C[m] , A[m] , 1 , d);
        fseek(d , A[m] , 1);
        m++;
        C[m]=new float(sizeof(A[m]));
        fread(C[m] , A[m] , 1 , d);
        fseek(d , A[m] , 1);
        m++;
        C[m]=new float(sizeof(A[m]));
        fread(C[m] , A[m] , 1 , d);
        fseek(d , A[m] , 1);
        m++;
    }
    for(m=0 ; m<M ; m++)
    {
        for(n=0 ; n<sizeof(C[m]) ; n++)
        {
            printf("%f",C[m][n]);
        }
        puts(B[m]);
    }
}
Что нужно изменить, чтобы исправить ошибку. Заранее благодарен.

Компилятор:
Qt Creator 3.1.0 (opensource)
Основан на Qt 5.2.1 (MSVC 2010, 32 бита)

ОС:
Windows 7, 64x
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru