Как перебирать 2D массив и передавать каждую пару в функцию?
У меня есть матрица, сохраненная в файле .txt, она имеет значения, я создал функцию, которая принимает строку и число в качестве параметров, а затем возвращает значение, полученное из matrix.txt файл.
У меня есть 2D-массив, содержащий пары строк/столбцов, они не упорядочены и являются случайными парами,как я могу перебирать этот 2D-массив и передавать каждую пару в функцию getList(rw, cl), чтобы получить такой файл в качестве результата.
result.txt
строка,столбец,его значение
строка,столбец,его значение
и т.д.
Спасибо за любую помощь, обратите внимание, пожалуйста, что я все еще новичок, так что никаких авансов советы
Что я уже пробовал:
#include<iostream> #include<fstream> #include<string> using namespace std; const int col_nbr = 7; const int row_nbr = 3; int static getValueOf[col_nbr][row_nbr]; void loadMatrix(){ int x, y; ifstream in("/storage/emulated/0/matrix.txt"); //This my matrix .txt file saved in pc /* 11 12 13 14 15 16 17 21 22 23 24 25 26 27 31 32 33 34 35 36 37 */ if (!in){ cout << "Cannot open file.\n"; return; } for (x = 0; x < row_nbr; x++){ for (y = 0; y < col_nbr; y++){ in >> getValueOf[x][y]; } } in.close(); } int getList(int rw,int cl){ return getValueOf[rw-1][cl-1]; } int main(){ loadMatrix(); //I would take each pair row/columm from this 2D array coords, then I pass the row and the columm to the function getList(rw,cl) to get a list of the coorespondent values from the matrix.txt int coords [4][2] = {{3,0},{2,1},{6,2},{1,1}}; //int coords has 4 rows and 2 columms cout<<getList(1,1)<<endl; //11 cout<<getList(3,7)<<endl; //37 return 0; }
Mohibur Rashid
Я сейчас немного скептически настроен. Вы можете создать вложенный цикл для чтения из файла, но не можете создать один цикл?
Patrice T
не ясно!
дайте подробную информацию о проблеме.
khaledce
@ppoymorphe, хорошо, тогда давайте на мгновение забудем все вышесказанное и скажем, что у нас есть функция getList(row,columm), она возвращает значение singe int; и 2D-массив в файле .cpp, он имеет 4 пары пар row/column.
Как перебирать getList(строку,столбец) через два вложенных for-цикла над 2D-массивом, чтобы получить соответствующие значения для этих пар, которые будут сохранены в новом 1D-массиве или во внешнем файле, не имеет значения