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

Error C2109: subscript requires array or pointer - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить значение выражений http://www.cyberforum.ru/cpp-beginners/thread1548624.html
Добрый вечер! Помогите переписать вот эти три формулы на язык С++. Прикрепляю фотографию, если вдруг неправильно написал ниже формулу. 1 формула:ln({x}^{2}+5) 2 формула:sin({e}^{x}+2) 3 формула:(sin(x+3)/({e}^{2*x}+cos(x+1)) Заранее спасибо!
C++ Инициализация вектора Как правильно инициализировать двумерный символьный вектор? Пробовал вот так, не получилось vector< vector<char> > map(2, vector<char>(4)) = {'Y','Y','Y','Y','Y','Y','Y','Y'}; http://www.cyberforum.ru/cpp-beginners/thread1548621.html
C++ Можно ли по TCP отправить несколько JSON и принять соответственно?
можно ли по TCP отправить несколько JSONов и принять на сервере соответственно??
C++ Поиск файлов и вывод как в каталоге DIR
Есть задача-в папке-- D:\users лежат файлы формата-- *.txt Через поиск нужно вывести на экран информацию о файлах в соответственном виде Кто может помочь или натолкнуть на мысль о возможности привести к такому виду.Буду рад. То что получилось у меня. #include <io.h>
C++ Перемножение двух матриц http://www.cyberforum.ru/cpp-beginners/thread1548595.html
Написать программу перемножения двух матриц. Использовать динамические массивы. Вот код, но это при условии, что N у всех трех матриц одна и та же, с М такая же фигня. Но я не знаю как написать так, чтобы, например для 1 - ой матрицы N = 2 , M = 3, а для 2 матрицы N = 3, M = 2, тогда получается, что у 3 матрицы выйдет 3х3 размер. Вот как это я написать не знаю , подскажите или помогите с...
C++ Упорядоченный связный список объектов класса Добрый вечер, вот уже третий день бьюсь в попытках создания связного списка из объектов класса. Задача: создать таблицу символов, в которой последние должны хранится в виде связного списка (в алфавитном порядке). Когда создаю обычный список все работает, подставляю класс и ожидаемого результата не получаю:( // IdentifierTable.cpp: определяет точку входа для консольного приложения. //... подробнее

Показать сообщение отдельно
Vorla
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 3
09.10.2015, 23:19     Error C2109: subscript requires array or pointer
В функциях Poisk и Show компилятор пишет, что индекс i в элементе массива x[i][j] должен иметь указатель на тип объекта.
Не могу понять, как это сделать ?

Код программы:
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <iomanip>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <locale.h>
#include <windows.h> 
 
using namespace std;
 
class bMass //abstract class
{
protected:
    int n, m;
public:
    virtual ~bMass(){ };
 
    virtual void Poisk() = 0;  // chisto virt func poiska;  
    virtual void show() = 0; //ГґГіГ*êöèÿ îòîáðГ*æåГ*ГЁГї Г¤Г*Г*Г*ûõ
    virtual void output() = 0; // ГґГіГ*êöèÿ âûâîäГ* ðåçóëüòГ*ГІГ* Г*Г* äèñïëåé
};
 
class InMass : public bMass
{
    int x, imax;
public:
    InMass(int N, int M){
        n = N;
        m = M;
        int **x = new int *[n]; // âûäåëåГ*ГЁГҐ ГЇГ*ìÿòè
        for (int i = 0; i < n; i++) // ïîä Г¬Г*òðèöó
            x[i] = new int[m];
        cout << "Zapolnite matricu:" << endl;
 
        for (int i = 0; i<n; i++) // ââîä Г¬Г*òðèöû
            for (int j = 0; j<m; j++)
            {
                cin >> x[i][j];
            }
    };
    ~InMass(){ };
 
    void Poisk(){
 
 
        int imax = 0;
        for (int i = 0; i<n; i++) {
 
            for (int j = 1; j<m; j++){
 
                if (x[i][j]> imax) {
                    imax = x[i][j];//ошибка
 
                }
            }
        }
        system("pause");
        return;
    };
    
    void output() {
        cout << "Max element is: " << imax << endl;
    }; // ГґГіГ*êöèÿ âûâîäГ* ðåçóëüòГ*ГІГ* Г*Г* äèñïëåé
    
    void show() {
 
        for (int *i = 0; i<n; i++) {
            for (int j = 0; j<m; j++)
                cout << x[i][j] << " ";//ошибка
            cout << endl;
        }
 
    }; //ГґГіГ*êöèÿ îòîáðГ*æåГ*ГЁГї Г¤Г*Г*Г*ûõ
 
};
 
int main(){
    system("cls");
    int M, N;
    cout << "Wedite kol-vo stroki stolbcov  matricui:";
    cin >> N >> M;
    cout << endl;
    while (true) {
 
        system("cls");
        cout << "Proved operation poisk max elem in matirx, size of " << N << " * " << M << endl;
        cout << "___________________________________________________" << endl;
        cout << "Select a matrix:" << endl;
        cout << "1.Integer Matrix" << endl;
        cout << "2.Char Matrix" << endl;
        cout << "3.Double Matrix" << endl;
        cout << "(For Exit press 4)" << endl;
        cout << '\n' << "Your choice is: " << flush;
        switch (cin.get()) {
 
        case '1': {
 
                    system("cls");
                    InMass *ptr = new InMass(N, M);
                    cout << "Input the elements of the matrix: " << flush;
                    cout << endl;
                    ptr->Poisk();
                    ptr->show();
                    ptr->output();
                    cout << '\n' << "Press any key fo return to menu.." << flush;
                    delete ptr;
                    cin.get (), cin.get ();
            } break;
        case '2': {}break;
        case '3': {}break;
        case '4':
            return 0;
 
        }
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru