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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
fenix117
8 / 8 / 1
Регистрация: 16.03.2011
Сообщений: 249
#1

Ошибка "Выход за границу вектора" - C++

13.04.2011, 11:17. Просмотров 365. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста, не пойму в чем дело, вывод массива по лекции сделал а на нем ошибка выход за границу вектора. Объясните плиз.
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
#include <iostream>
#include <vector>
#include <ctime>
using namespace std;
typedef vector<int> row;
typedef vector<row> matrix;
 
void create_random (int n, matrix &A)
{
    row Row(n);
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            Row[j]=(rand()%2);
        }
        A.push_back(Row);
    }
}
 
void vivod (int n, matrix A)
{
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
        {
            cout<<A[i][j]<<'\t';
        }
        cout<<endl;
    }
}
 
int main()
{
    int n;
    srand((unsigned)time(NULL));
    setlocale(LC_ALL, "Russian");
    do
    {
        cout<<"Введите размер квадратной матрицы"<<endl;
        cin>>n;
    }
    matrix A(n);
    create_random (n,A);
    vivod(n,A);
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2011, 11:17     Ошибка "Выход за границу вектора"
Посмотрите здесь:

Ошибка деструктора - В конструкторе происходит выход за границу массива - C++
Доброго времени. #include &lt;iostream.h&gt; #include &lt;math.h&gt; class OKTAVE { public: OKTAVE(unsigned int Leng) ...

Если возможно, упорядочить булевы вектора, или вывести сообщение "Вектора несравнимы" - C++
помогите пожалуйста с задачей: Даны булева вектора a и b длины n. Если возможно, упорядочить их, или вывести сообщение &quot;Вектора...

For(auto const& val : stime) .cpp(47) : error C2143: синтаксическая ошибка: отсутствие "," перед ":" - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdexcept&gt; #include &lt;locale&gt; #include &lt;cstdlib&gt; #include &lt;string&gt; #include...

Error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в "код операции"; обнаружено "SHL" - C++
visual studio выдал такую ошибку error C2400: синтаксическая ошибка во встроенном коде на языке ассемблера в &quot;код операции&quot;; обнаружено...

error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "fprot" - C++
помогите, пожалуйсти исправить ошибки!!! #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; ...

Ошибка преобразование "time_t" в "unsigned int", возможна потеря данных - C++
Добрый день,по условию задачи: &quot;найти сумму элементов,расположенных на главной и побочной диагонали квадратной матрицы&quot; у меня вышла вот...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
prazuber
109 / 109 / 3
Регистрация: 29.04.2010
Сообщений: 240
13.04.2011, 11:24     Ошибка "Выход за границу вектора" #2
C++
1
matrix A(n);
(в функции main) изменить на
C++
1
matrix A;
fenix117
8 / 8 / 1
Регистрация: 16.03.2011
Сообщений: 249
13.04.2011, 11:28  [ТС]     Ошибка "Выход за границу вектора" #3
а можно так заполнять?
C++
1
2
3
4
5
6
7
8
void create (int n, matrix &A)
{
    for (int i=0; i<n; i++)
        for (int j=0; j<n; j++)
        {
            A[i][j]=(rand()%2);
        }
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2011, 11:32     Ошибка "Выход за границу вектора"
Еще ссылки по теме:

#include "Sales_item.h" - ошибка "включаемый файл включает самого себя" - C++
Пишу в файле Sales_item.h следующее: #include &quot;Sales_item.h&quot; #include &lt;iostream&gt; void main() { Sales_item book; //тут...

Ошибка экземпляра класса: отсутствие ";" перед идентификатором "o_scenes_1" - C++
В программе есть два класса, для каждого создано по одному экземпляру. Почему-то в месте создания каждого из экземпляров выдает ошибку: ...

Перегрузка оператора "++" и "--" , компилирует, но при запуске программы - ошибка - C++
#include &lt;iostream&gt; #include&lt;ctime&gt; #include&lt;stdio.h&gt; #include&lt;locale.h&gt; #include &lt;windows.h&gt; #include &lt;conio.h&gt; ...

Ошибка в Eclipse "Type Program "make" not found in PATH" - C++
Установил на комп Eclipse, MinGW, попробовал запустить уже готовый хэлловорлд, эклипс выдал ошибку &quot;Program &quot;make&quot; not found in PATH&quot;....


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

Или воспользуйтесь поиском по форуму:
prazuber
109 / 109 / 3
Регистрация: 29.04.2010
Сообщений: 240
13.04.2011, 11:32     Ошибка "Выход за границу вектора" #4
C++
1
2
3
4
5
6
7
8
9
10
void create_random (int n, matrix &A)
{
    A.resize(n);
    for (int i=0; i<n; i++)
    {
        A[i].resize(n);
        for (int j=0; j<n; j++)
            A[i][j]=(rand()%2);
    }
}
Вот так можно тогда.
Либо выделить память и потом изменять ее содержимое, либо делать это одновременно с помощью push_back
Yandex
Объявления
13.04.2011, 11:32     Ошибка "Выход за границу вектора"
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru