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

Динамические массивы - C++

Восстановить пароль Регистрация
 
sanches2805
0 / 0 / 0
Регистрация: 24.02.2012
Сообщений: 38
08.10.2012, 15:57     Динамические массивы #1
Попытался поработать с дин. массивами, почему то ошибка появляется,может подскажете в чем проблема
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "iostream"
using namespace std;
int main()
{
    int size=2;
    int i;
int *a=new int[size];
cout<<"enter size of array ";
cin>>size;
for( i=0;i<=size;i++)
    cin>>a[i];
cout<<"enter number of array ";
cin>>i;
 
cout<<endl<<a[i];
delete[] a;
return 0;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 15:57     Динамические массивы
Посмотрите здесь:

Динамические массивы C++
Динамические массивы. C++
Динамические массивы C++
динамические массивы C++
C++ Динамические массивы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
doctor_lecter
 Аватар для doctor_lecter
279 / 152 / 8
Регистрация: 22.09.2012
Сообщений: 283
08.10.2012, 16:02     Динамические массивы #2
в 11 строчке вместо <= нужно <
sanches2805
0 / 0 / 0
Регистрация: 24.02.2012
Сообщений: 38
08.10.2012, 16:08  [ТС]     Динамические массивы #3
Цитата Сообщение от doctor_lecter Посмотреть сообщение
в 11 строчке вместо <= нужно <
как это вообще влияет?
doctor_lecter
 Аватар для doctor_lecter
279 / 152 / 8
Регистрация: 22.09.2012
Сообщений: 283
08.10.2012, 17:00     Динамические массивы #4
Цитата Сообщение от sanches2805 Посмотреть сообщение
как это вообще влияет?
при <= i принимает значения 0, 1, 2. Размерность задана 2 и при i=2 выход за границы
при < i = 0, 1

А зачем вы делаете cin >> size; Массив размерности size=2 ведь уже создан до этого?
sanches2805
0 / 0 / 0
Регистрация: 24.02.2012
Сообщений: 38
08.10.2012, 17:07  [ТС]     Динамические массивы #5
Цитата Сообщение от doctor_lecter Посмотреть сообщение
при <= i принимает значения 0, 1, 2. Размерность задана 2 и при i=2 выход за границы
при < i = 0, 1

А зачем вы делаете cin >> size; Массив размерности size=2 ведь уже создан до этого?
потому что без присовения нач. значения size вообще нифига не работает
Andsteadur
152 / 136 / 3
Регистрация: 23.05.2009
Сообщений: 275
08.10.2012, 17:12     Динамические массивы #6
Цитата Сообщение от sanches2805 Посмотреть сообщение
потому что без присовения нач. значения size вообще нифига не работает
правильно, потому что в неинициализированной переменной size будет храниться мусор. Просто нужно считать ввод пользователя, а потом уже создавать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main()
{
    int size = 0;
    int i = 0;
 
   cout<<"enter size of array ";
   cin>>size;
   int *a=new int[size];
   for(i=0;i<size;i++)
      cin>>a[i];
   
   cout<<"enter number of array ";
   cin>>i;
   if (i < 0 || i >= size)
      cout<<"Out of bound\n";
   else cout<<endl<<a[i];
   delete[] a;
   return 0; 
}
Yandex
Объявления
08.10.2012, 17:12     Динамические массивы
Ответ Создать тему
Опции темы

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