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

Ошибка при присвоении значения элементу массива в функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить количество элементов массива, лежащих в диапазоне от А до В http://www.cyberforum.ru/cpp-beginners/thread744213.html
В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) количество элементов массива, лежащих в диапазоне от А до В. 2) сумму элементов массива, расположенных после максимального элемента. Помогите с задачей, буду благодарен!
C++ Не иницилизированна переменная Помогите пожалуйста, с исправлением ошибки, не понимаю что не так. #include <iostream> using namespace std; void error(FILE *fp,char *filename); http://www.cyberforum.ru/cpp-beginners/thread744209.html
Массив списков, как создать? C++
У меня есть структура такого типа class Lancuch { public: char cos; Lancuch * nastepny; }; И массив структур. Lancuch * elem= new Lancuch; А как для каждого элемента массива создать односвязный список и запомнить его начало?
C++ Структуры. Присвоить значение переменной a и всем объектам, с ней связанным
Присвоить значение переменной a и всем объектам, с ней связанным: struct b { double ∗q; int ∗ (∗p); }; struct b ∗∗a; Прошу помочь, если не кодом , то хоть идеями и подсказками, возможно полезной информацией и сылками.
C++ Количество различных элементов в монотонном массиве http://www.cyberforum.ru/cpp-beginners/thread744174.html
Формат входных данных Сначала задано число N - количество элементов в массиве (N не превосходит 100). Далее через пробел записаны N целых чисел - элементы массива (числа типа int/longint). Элементы массива отсортированы по неубыванию (каждый элемент массива не меньше предыдущего элемента, например, {1, 2, 2, 3, 3, 3}). Формат выходных данных Необходимо вывести количество различных чисел...
C++ Выведите все элементы массива с четными номерами Дан массив целых чисел. Нумерация элементов начинается с 0. Выведите все элементы массива с четными номерами. Формат входных данных Сначала задано число N - количество элементов в массиве, N100. Далее через пробел записаны N чисел - элементы массива. Все числа по модулю не превосходят 10000 Формат выходных данных Выведите все элементы массива с четными индексами (то есть A, A, A, ...). я... подробнее

Показать сообщение отдельно
Керра
Модератор
 Аватар для Керра
1270 / 438 / 45
Регистрация: 24.08.2011
Сообщений: 2,123
24.12.2012, 13:21     Ошибка при присвоении значения элементу массива в функции
Есть такая вот структура:
C++
1
2
3
4
5
6
struct stantsia
{
        string st;
        int hPrib,mPrib,
        hOtb,mOtb;
};
Есть объявление массива:
C++
1
stantsia a[maxn];
И этот массив должен меняться в этой функции:
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
void readAll(int *vsego, stantsia a[maxn])
{
    ifstream f; f.open("C:\timetable.txt");
    string s;
    char ch;
 
    *vsego = 0;
    while (!f.eof())
    {
        vsego++;
        cout << "ok\n"; _getch();
        a[*vsego].st = "";
        cout << "ok\n"; _getch();
 
        do
        {
            f >> ch;
            a[*vsego].st = a[*vsego].st + ch;
        }
        while (ch != ' ');
 
        if (scanf_s("%d:%d %d:%d%[^\n]",&a[*vsego].hPrib,&a[*vsego].mPrib,&a[*vsego].hOtb,&a[*vsego].mOtb) < 4 && !f.eof())
            oshibka();
    }
 
    f.close();
    return;
}
Однако в этой строке
C++
1
a[*vsego].st = "";
почему-то происходит ошибка "Нарушение прав доступа при чтении <адрес>". Почему?
P.S. При компиляции никаких ошибок нет
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru