Есть файл в котором записаны позиции на которых в матрице стоят единицы (матрица состоит из 0 и 1),это выглядит примерно так:23 45 ;56 34 ;67 87 ; и т. д.
Нужно сделать из этого матрицу. Размер матрицы фиксированный(233).
Помогите, пожалуйста.
#include <iostream.h>
#include <fstream.h>
class Pos {
public:
Pos(): x(0), y(0) {
}
int x, y;
};
istream& operator >> (istream &is, Pos &p) {
char ch;
is >> p.x >> p.y >> ch;
return is;
};
int main() {
int arr[100][100] = {0}; // Здесь задай нужную тебе размерность
ifstream in_file("pos.txt", ios :: in);
Pos p;
while( !in_file.eof() ) {
in_file >> p;
arr[p.x][p.y] = 1; // Вот тут и устанавливается 1-ца там, где нужно...
}
in_file.close();
return 0;
}
#include <string.h>
#include <stdlib.h>
#include <iostream.h>
#include <fstream.h>
int main() {
int arr[100][100] = {0};
int i = 0, j;
ifstream in_file("pos.txt", ios :: in);
char inBuf[1024], *delimit = " ";
while( !in_file.eof() ) {
in_file.getline(inBuf, 1024, ';');
char *p = strtok(inBuf, delimit);
while(p) {
j = atoi(p);
p = strtok(0, delimit);
arr[i][j] = 1; // Запись в матрицу единицы
}
i += 1;
}
in_file.close();
return 0;
}