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

Ошибка "неверный тип для индекса массива" при работе с двумерным массивом

15.10.2013, 14:27. Просмотров 373. Ответов 5
Метки нет (Все метки)

Возникла вот такая проблемы при выполнении работы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int step_right(int *a,int n,int m,int i,int j){
  int flower = 0;
  if ((n<i)&&(m<j-1)){
      flower+=a[n][m]-a[n][m+1]; //неверный тип для индекса массива для переменной m
    }
  else{
      flower+=0;
    }
  return flower;
}
 
int step_right2(int *a, int n, int m, int i, int j){
  int flower = 0;
  if ((n<i)&&(m<j-2)){
      flower+=2*(a[n][m]-a[n][m+2]); //неверный тип для индекса массива  для переменной m
    } 
  else{
      flower+=0;
    }
  return flower;
}
Прошу помощи, ибо перерыл уже весь форум всю сеть и ничего толком не нашёл. С одномерным массивом такого не происходит. Если есть ошибка, то прошу пояснить её суть, если не сложно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2013, 14:27
Ответы с готовыми решениями:

Выдает ошибку "Неверный тип для индекса массива"
Выдает вот такую ошибку: invalid types '&lt;unresolved overloaded function type&gt;'...

Ошибка "Access violation writing location" при работе с массивом.
Задание номер 2 #include &lt;stdio.h&gt; #include &lt;cstdlib&gt; #include &lt;math.h&gt;...

Ошибка при работе с массивом: "Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted."
Ребята, помогите пожалуйста, при комплиляции программы иногда вылезает строчка:...

Ошибка с памятью при работе с динамическим двумерным массивом
Вроде всё правильно, но в ходе работы программа выдаёт ошибку(на скрине). Дело...

Ошибка при работе с двумерным динамическим массивом, созданным через функцию
Доброго времени суток. У меня проблема при работе с динамическим массивом,...

5
newb_programmer
237 / 237 / 113
Регистрация: 03.09.2011
Сообщений: 558
15.10.2013, 14:43 #2
MurderKnot, двумерный нельзя так в функцию передавать
вот так можно например
C++
1
int step_right(int a[5][5],int n,int m,int i,int j){
1
MurderKnot
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 32
15.10.2013, 15:39  [ТС] #3
newb_programmer, но можно же работать с двумерном массивом в функции?
0
newb_programmer
237 / 237 / 113
Регистрация: 03.09.2011
Сообщений: 558
15.10.2013, 16:22 #4
MurderKnot, конечно, почему нет?)
0
MrGluck
Модератор
Эксперт CЭксперт С++
8070 / 4923 / 1430
Регистрация: 29.11.2010
Сообщений: 13,339
15.10.2013, 16:34 #5
MurderKnot, а лучше использовать динамические массивы и передавать в функцию вот так:
C++
1
void foo(int *arr, const int size1, const int size2) { ... }
Добавлено через 19 секунд
И не использовать частные случаи для решения общей задачи
1
MurderKnot
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 32
15.10.2013, 16:46  [ТС] #6
нашёл способ, если писать
C++
1
int step_right(int **a, int i, int j, int n, int m)
То можно передавать двумерный массив в функцию!

В итоге написал:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int step_right(int **a,int n,int m,int i,int j){
  int flower = 0;
  if ((n<i)&&(m<j-1)){
      flower+=a[n][m]-a[n][m+1];
    }
  else{
      flower+=0;
    }
  return flower;
}
 
int step_right2(int **a, int n, int m, int i, int j){
  int flower = 0;
  if ((n<i)&&(m<j-2)){
      flower+=2*(a[n][m]-a[n][m+2]);
    } 
  else{
      flower+=0;
    }
  return flower;
}
и ошибку больше не выводит
0
15.10.2013, 16:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2013, 16:46

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

Ошибка с массивом: программа при вводе "ступорится" при нажатии клавиши Enter
Задание: Напишите программу, используя указатели, которая вычисляет адреса...

Ошибка в синтаксисе массива при работе с "сортировкой пузыриком
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt;...


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

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

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