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

Ошибка в коде - C++

Восстановить пароль Регистрация
 
Armatus
 Аватар для Armatus
50 / 50 / 28
Регистрация: 24.03.2016
Сообщений: 358
Завершенные тесты: 4
03.04.2016, 22:21     Ошибка в коде #1
Помогите найти ошибку в коде, программа аварийно закрывается на последнем вводе
C++
1
mass[i].year;
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
#include <iostream>
#include <string>
#include <new>
using namespace std;
struct car {
    string model;
    int year;
 
};
 
int main() {
    setlocale(0, "");
    cout << "Сколько автомобилей поместить в каталог? ";
    
    int avto;
    cin >> avto;
    car * mass = new car[avto];
    for (int i = 1; i <= avto; i++) {
        cout << "Автомобиль №" << i;
        cout << "Введите модель: ";
        cin >> mass[i].model;
        cout << "Введите год выпуска автомобиля: ";
        cin >> mass[i].year;
        
    }
    
    
    
    cout << "Вот ваша коллекция: " << endl;
    for (int i = 1; i <= avto; i++)
    {
        cout << mass[i].year << " " << mass[i].model;
    }
    delete[] mass;
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2016, 22:21     Ошибка в коде
Посмотрите здесь:

Ошибка в коде К и Р C++
Ошибка в коде! C++
Ошибка в коде! C++
Ошибка в коде C++
C++ Ошибка в коде
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nishen
 Аватар для Nishen
171 / 77 / 28
Регистрация: 26.02.2015
Сообщений: 453
03.04.2016, 22:24     Ошибка в коде #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Может быть потому что индексация массивов начинается с 0 и идет до (avto - 1). А ты начинаешь с единицы и прогоняешь до несуществующего индекса его.
Armatus
 Аватар для Armatus
50 / 50 / 28
Регистрация: 24.03.2016
Сообщений: 358
Завершенные тесты: 4
03.04.2016, 22:24  [ТС]     Ошибка в коде #3
Nishen, Точно, спасибо
Nishen
 Аватар для Nishen
171 / 77 / 28
Регистрация: 26.02.2015
Сообщений: 453
03.04.2016, 22:25     Ошибка в коде #4
Вот так попробуй.

C++
1
2
3
4
5
6
7
for (int i = 0; i < avto; i++) {
* * * * cout << "Автомобиль №" << i;
* * * * cout << "Введите модель: ";
* * * * cin >> mass[i].model;
* * * * cout << "Введите год выпуска автомобиля: ";
* * * * cin >> mass[i].year;
}
C++
1
2
3
4
for (int i = 0; i < avto; i++)
    {
        cout << mass[i].year << " " << mass[i].model;
    }
Armatus
 Аватар для Armatus
50 / 50 / 28
Регистрация: 24.03.2016
Сообщений: 358
Завершенные тесты: 4
03.04.2016, 22:29  [ТС]     Ошибка в коде #5
Уже, мне хватило вашей первой подсказки что бы понять в чем дело
Yandex
Объявления
03.04.2016, 22:29     Ошибка в коде
Ответ Создать тему
Опции темы

Текущее время: 07:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru