2013-12-18 2 views
-1

Я пишу программу для матриц я получаю ошибки:ошибки каждый раз, когда я использую массивы и матрицы C++

ошибки C2109: индекс требует массив или указатель типа

ошибки C2064: термин не вычисляется функция, принимающая 1 аргументов

ошибка C2109: индекс требует массив или указатель типа

#include <iostream> 

using namespace std; 

int main() 
{ 
char str[3][3] = { }; 
cout <<"Input first row secon row third row"<<endl; 
cin >>str[0][0]>>str[0][1]>>str[0][2]; 
cout <<""<<endl; 
cin >>str[1][0]>>str[1][1]>>str[1][2]; 
cout <<""<<endl; 
cin >>str[2][0]>>str[2][1]>>str[2][2]; 
cout <<""<<endl; 
str[3][0]= (str[0][0])[(str[1][1]*str[2][2])-(str[1][2]*str[2][1])]; 
str[3][1]= (-1)(str[1][0])[(str[0][1]*str[2][2])-(str[0][2]*str[2][1])]; 
str[3][2]= (str[2][0])[(str[0][1]*str[1][2])-(str[0][2]*str[1][1])]; 
str[3][3]= (str[3][0])+(str[3][1])+(str[3][2]); 
cout <<str[3][3]; 
std::cin.get(); 
cin.get(); 
return 0; 
} 
+0

Также укажите номер строки. – doptimusprime

+0

В этих строках есть что-то не так: str [3] [0] = (str [0] [0]) [(str [1] [1] * str [2] [2]) - (str [ 1] [2] * ул [2] [1])]; str [3] [1] = (-1) (str [1] [0]) [(str [0] [1] * str [2] [2]) - (str [0] [2] * ул [2] [1]]); str [3] [2] = (str [2] [0]) [(str [0] [1] * str [1] [2]) - (str [0] [2] * str [1] [1])]; Что вы здесь делаете? Массив представляет собой однородную структуру данных. Вам не нужно бросать сюда. Пожалуйста, объясни. –

+0

Вы индексируете конец массивов. 'str [3] [0]' не существует. 'char str [3] [3]' имеет юридические индексы от '[0] [0]' до '[2] [2]' ... ie "3" - это размер массива, но индексы равны 0, 1 и 2. Отдельно, у Мухаммеда есть твердая точка ... что же вы пытаетесь сделать? Эти выражения в конечном итоге имеют форму '(character-value) [(character-value)]', что является незаконным. –

ответ

1

Вы используете Незаконные индексы. массив, который вы используете, является str [3] [0] не связан. максимальный массив всегда один меньше заданной длины. вы можете использовать str [2] [0].

Смежные вопросы