Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 11.05.2012
Сообщений: 15

Error C2109: для индекса требуется массив или указатель

11.05.2012, 20:45. Показов 1790. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <stdio.h>
#include <conio.h>
 
int const max_widht=3;
int const max_height=3;
 
int minmax (int min, int max, int val, int max_height, int max_widht, int* m)
{   int i,max_w, min_w;
    for (int i=0; i<max_widht; i++)
    {
      max=min=m[i][0];
        for (int j=1; j<max_height; j++)
        {
          val=m[i][j];
          (val<min)? min=val : 0;
          (val>max)? max=val :0;  
        }
     max_w[i]=max;
     min_w[i]=min;
 
    }
 return max_w[i], min_w[i];
}
 
void main()
{   
    int i,j,val, min, max;
    int m[max_widht][max_height]={
    {8,2,3},
    {-1,0,-1},
    {9,77,34}
    };
    int max_w[max_widht], min_w[max_widht], max_h[max_height], min_h[max_height];
 
for (int i=0; i<max_widht; i++)
    {
        for (j=0; j<max_height; j++)
        {
          printf("%4d", m[i][j]);
        }
        printf ("\n");
}
 
 minmax ( min ,max, val, max_height, max_widht,*m);
 
/*for (i=0; i<max_widht; i++)
{
    max=min=m[i][0];
    for (j=1; j<max_height; j++)
    {
        val=m[i][j];
        (val<min)? min=val : 0;
        (val>max)? max=val :0;  
    }
 max_w[i]=max;
 min_w[i]=min;
 
}*/
 
for (j=0; j<max_height; j++)
{
    max=min=m[0][j];
    for (i=1; i<max_widht; i++)
    {
        val=m[i][j];
        (val<min)? min=val : 0;
        (val>max)? max=val :0;  
    }
 max_h[j]=max;
 min_h[j]=min;
 
}
 
for ( i= 0; i<max_widht; i++ ) 
{
 
    for ( j= 0; j<max_height; j++ ) 
{
   if ( m[i][j] == max_w[i] && m[i][j] == min_h[j] || m[i][j] == min_w[i] && m[i][j] == max_h[j]) 
   {
 
      printf( "m[%d][%d]=%d\n", i, j, m[i][j] );
   }
 
}
}
 
 
 
_getch();
}
error C2109: для индекса требуется массив или указатель в 12,15,19,20 и 23 строке. Что не так?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.05.2012, 20:45
Ответы с готовыми решениями:

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

Error C2109: для индекса требуется массив или указатель
Доброго времени суток! Будьте так добры помочь в данном вопросе, как сделать указатель для этой части кода: if(a&gt;0) { ...

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

5
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,238
11.05.2012, 21:25
в параметрах функции minmax указано, что m - одномерный массив,
а используется как двумерный.
max_w, min_w - описаны как простые переменные, а используются как массивы.
Функция должна возвращать целое число, а написано нечто странное
return max_w[i], min_w[i]; (i здесь неопределено, поэтому
return max_w[i] возвратит непонятное значение, а min_w[i] -
стоит после запятой, поэтому скорее всего вообще не будет вычисляться
0
1 / 1 / 0
Регистрация: 11.05.2012
Сообщений: 15
11.05.2012, 21:27  [ТС]
а как это исправить?
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,238
11.05.2012, 21:36
Я бы эту функцию написал так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void minmax (int* max_w, int* min_w, int max_height, int max_widht, int** m)
{   int max, min,val;
    for (int i=0; i<max_widht; i++)
    {
      max=min=m[i][0];
        for (int j=1; j<max_height; j++)
        {
          val=m[i][j];
          (val<min)? min=val : 0;
          (val>max)? max=val :0;  
        }
     max_w[i]=max;
     min_w[i]=min;
 
    }
 return;
}
1
 Аватар для ArmoredHell
15 / 15 / 1
Регистрация: 05.04.2012
Сообщений: 32
11.05.2012, 21:37
Я не очень понимаю, что должна делать функция, но код нужно так исправить:

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
int* minmax (int min, int max, int val, int max_height, int max_widht, int** m)
{   
    int max_w = 0, min_w = 0;
    int* result = new int[2];
 
    for (int i=0; i<max_widht; i++)
    {
        max=min=m[i][0];
 
        for (int j=1; j<max_height; j++)
        {
          val=m[i][j];
          (val<min)? min=val : 0;
          (val>max)? max=val :0;  
        }
 
        max_w = max;
        min_w = min;
    }
 
    res[0] = max_w;
    res[1] = min_w;
 
    return res;
}
1
1 / 1 / 0
Регистрация: 11.05.2012
Сообщений: 15
11.05.2012, 21:38  [ТС]
премного благодарна)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.05.2012, 21:38
Помогаю со студенческими работами здесь

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

Error C2109: для индекса требуется массив или указатель (найти причины возникновения ошибки)
по условию я составил программу &quot;Дан одномерный массив А, состоящий из N целых чисел. Сжать массив, удалив из него все элементы,...

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru