Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
BenJost
0 / 0 / 4
Регистрация: 01.10.2016
Сообщений: 247
1

Error C2109: для индекса требуется массив или указатель (найти причины возникновения ошибки)

17.12.2016, 14:01. Просмотров 307. Ответов 5
Метки нет (Все метки)

по условию я составил программу

"Дан одномерный массив А, состоящий из N целых чисел. Сжать массив, удалив из него все элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями."

но на iCount[ i] выбивает ошибку (фото) :error C2109: для индекса требуется массив или указатель
как это исправить?

Программа:


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
#include "stdafx.h"
int main ()
{
int iArray[10];
    int iCount,a,b;
iCount = 10;
a=3;
b=6;
//заполнили массив
for( int i=0; i<iCount; i++)
iCount[ i] = i;
//сканируем
for( int i=0; i<iCount; i++)
{
if( (iCount[ i] >= a) && (iCount[ i] <= b))
{
for( int j = i;j<iCount-1; j++)
iCount[ j] = iCount[ j+1]; 
iCount[ j] = 0; 
//забыл дописать
i--; // а то пропустишь элемент не проверяя на интервал
}
}
 
}
0
Миниатюры
Error C2109: для индекса требуется массив или указатель (найти причины возникновения ошибки)  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2016, 14:01
Ответы с готовыми решениями:

Найти причины и способы исправления ошибки "error C2109: для индекса требуется массив или указатель"
Добрый день! Подскажите пожалуйста, писала программу, но на протяжении всей программы для...

error C2109: для индекса требуется массив или указатель
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;windows.h&gt; #include &lt;conio.h&gt; #include...

error C2109: для индекса требуется массив или указатель.
#include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;ctime&gt; using namespace std; ...

Error C2109: для индекса требуется массив или указатель
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; int const max_widht=3; int const max_height=3; int...

Error C2109: для индекса требуется массив или указатель
Есть код,делаю его в классы,вот выскочили ошибки,помогите исправить. class PID { private: ...

5
zss
Модератор
Эксперт С++
8070 / 7213 / 4496
Регистрация: 18.12.2011
Сообщений: 19,080
Завершенные тесты: 1
17.12.2016, 14:06 2
Массив у Вас не iCount, а iArray
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
#include <iostream>
using namespace std;
int main ()
{
    const int N=10;
    int iArray[N];
    int iCount,a,b;
    iCount = N;
    a=3;
    b=6;
    //заполнили массив
    for( int i=0; i<iCount; i++)
        iArray[ i] = i;
    //сканируем
    for( int i=0; i<iCount; i++)
    {
        if( (iArray[ i] >= a) && (iArray[ i] <= b))
        { 
            int j;
            for( j= i;j<iCount-1; j++)
                iArray[ j] = iArray[ j+1]; 
            iArray[ j] = 0; 
            //забыл дописать
            i--; // а то пропустишь элемент не проверяя на интервал
        }
    }
    for( int i=0; i<iCount; i++)
        cout<<iArray[i]<<' ';
    system("pause");
    return 0;
 
}
0
BenJost
0 / 0 / 4
Регистрация: 01.10.2016
Сообщений: 247
17.12.2016, 14:12  [ТС] 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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int iArray[10], int iArray, a, b;
int iArray=10;
a=3;
b=6;
 
 
//заполнили массив
for( int i=0; i< iArray; i++)
iArray [ i] = i;
 
//сканируем
for( int i=0; i< iArray; i++)
{
if( (iArray [ i] >= a) && (iArray [ i] <= b)
{
for( int j = i;j< iArray -1; j++)
iArray [ j] = iArray [ j+1]; 
iArray [ j] = 0; 
//забыл дописать
i--; // а то пропустишь элемент не проверяя на интервал
}
}
0
Миниатюры
Error C2109: для индекса требуется массив или указатель (найти причины возникновения ошибки)  
nd2
3045 / 2558 / 1115
Регистрация: 29.01.2016
Сообщений: 8,569
17.12.2016, 21:50 4
Цитата Сообщение от BenJost Посмотреть сообщение
C++
1
2
int iArray[10], int iArray, a, b;
int iArray=10;
Не слишком много iArray?
0
zss
Модератор
Эксперт С++
8070 / 7213 / 4496
Регистрация: 18.12.2011
Сообщений: 19,080
Завершенные тесты: 1
17.12.2016, 21:54 5
BenJost, А чем Вас не устроил предложенный мной код?
0
sourcerer
18.12.2016, 12:01     Error C2109: для индекса требуется массив или указатель (найти причины возникновения ошибки)
  #6

Не по теме:

Цитата Сообщение от zss Посмотреть сообщение
чем Вас не устроил предложенный мной код?
Не прижат полностью влево? :D

0
18.12.2016, 12:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2016, 12:01
Привет! Вот еще темы с ответами:

Error C2109: для индекса требуется массив или указатель
Доброго времени суток! Будьте так добры помочь в данном вопросе, как сделать указатель для этой...

Ошибка "error C2109: для индекса требуется массив или указатель"
Помогите, пожалуйста! Имеется программа: double f4 (double x) { double p,f; double a; int...

Для индекса требуется массив или указатель
Вот весь код: #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;string&gt; #include&lt;vector&gt;...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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