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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ahamoth
0 / 0 / 0
Регистрация: 26.11.2010
Сообщений: 111
#1

Считывание нескольких матриц из файла - C++

10.04.2011, 15:15. Просмотров 345. Ответов 2
Метки нет (Все метки)

Зжравствуйте ,помогите с решением такой задачи.
Есть файл , в нем хранится матрица.эта матрица считывается в двумерный массив .
в массиве эта матрица обрабатывается некоторым алгоримом который определяет удовлетворяет ли матрица некоторым условиям. после чего на экран выводится сообщение удовлетворяет или нет.
Программа работает , но мне нужно сделать так, чтобы она работала с несколькими матрицами ,которые записаны в файле. то есть последовательно считывать каждую матрицу и обрабатывать ее
как это сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2011, 15:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считывание нескольких матриц из файла (C++):

Считывание нескольких матриц из файла (C) - C++
Всем добрый день. Есть такой вопрос. Имеется текстовый файл, в котором записаны четыре матрицы 4х4, разделенные пустыми строками, как-то...

Умножение матриц, считывание размерностей из файла - C++
Вот такое задание. Из файла file1.txt считывается двумерная вещественная матрица А, из файла file2.txt считывается двумерная вещественная...

Считывание матриц из файла и действия над ними - C++
Из текстовых файлов считываются двумерные вещественные матрицы А и В. Вычислить А*В, и поменять местами первый и последний столбец. ...

Последовательное считывание нескольких символов из файла - C++
Здравствуйте. Нужен способ, позволяющий посчитать частоту встречаемости последовательности в тексте, например, абваба в аабвабабваба -...

Заменить считывание с клавиатуры на считывание из файла - C++
Помогите пожалуйста, ни разу не работал со считыванием из файла поэтому не понимаю как и что делать. Почитал в интернете, попробовал, не...

Считывание нескольких чисел - C++
Суть стоящей передо мной задачи такова - мне нужно ввести несколько чисел через пробел, например 1 12 49 2 (их количество заранее...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
10.04.2011, 16:22 #2
ahamoth, Обыкновенно.
Можно циклом - потом считывать, можно написать свой класс матрица - перегрузить оператор ввода - создать несколько объектов считывать проверять и т.п.
ahamoth
0 / 0 / 0
Регистрация: 26.11.2010
Сообщений: 111
10.04.2011, 16:45  [ТС] #3
вот код, что нужно исправить?
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
int main(int argc, char *argv[])
{
fstream fi;
fi.open("иии.txt", ios::in);
 int  n=9,m=9;
 int c=0,c1=0;
 char arr[5];
 int b;
int fail = 0; 
int tab [n][m];
int j,i;
if (!fi)
      { cerr << "error\n"; 
         exit(1);
      }
while (!fi.eof())
{
 
for(b=0;b<5;b++) 
fi>>arr[b];
 
 
for(i=0;i<n;i++)
        for(j=0;j<m;j++)
                fi>>tab[i][j];
                }
for(i=0;i<n;i++)
{
        for(j=0;j<m;j++)
                cout<<tab[i][j]<<' ';
        cout<<endl;
}
 
 
for (i = 0; i < 9 && !fail; ++i) {
  int p[9] = {}; 
  
  for (j = 0; j < 9 && !fail; ++j) {
     if (p[tab[i][j] - 1] == 0)
         p[tab[i][j] - 1] = 1;
     else
         fail = 1;  
  }
}
for (i = 0; i < 9 && !fail; ++i) {
  int p[9] = {};
  
  for (j = 0; j < 9 && !fail; ++j) {
     if (p[tab[j][i] - 1] == 0)
         p[tab[j][i] - 1] = 1;
     else
         fail = 1;  // äâГ* îäèГ*Г*êîâûõ Г·ГЁГ±Г«Г* Гў ñòîëáöå
  }
}
 
 
 for (i = 0; i < 9 && !fail; i+=3) {
  int j;
  for (j = 0; j < 9 && !fail; j+=3) {
     int p[9] = {};
     int ik;
     for (ik = i; ik < i+3 && !fail; ++ik) {
        int jk;
        for (jk = j; jk < j+3 && !fail; ++jk) {
           if (p[tab[ik][jk] - 1] == 0)
               p[tab[ik][jk] - 1] = 1;
           else
                 fail = 1;  
        }
     }
  }
}
 
 if (!fail)
  cout<<"pravilno\n";
else 
for(b=0;b<5;b++) 
 cout<<arr[b];
 cout<<endl;
c+=1;
cout<<" ne pravilno\n"<<c;
 
fi.close();
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2011, 16:45
Привет! Вот еще темы с ответами:

Считывание нескольких строк с пробелами - C++
Я знаю, что есть функция getline. Но если мне в коде надо считать несколько разных строк с пробелами, что мне делать? Потому что при...

Считывание нескольких строк с пробелами - C++
итак, есть код ввода списка учеников и вывода имени по номеру. #include &lt;iostream&gt; using namespace std; int main() { char...

Считывание нескольких строк из терминала, наподобие bash - C++
понравилась как в bash можно задавать команды из нескольких строчек echo 'some text' sed ' command command ...

Считывание Значений С Нескольких Полей Ввода(ТекстКтрл) - C++
Сейчас для того чтобы получить значение с поля ввода и записать его в массив делаю так: I(0) = atoi(TextCtrl1-&gt;GetValue()); I(1) =...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru