Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 2
Регистрация: 11.10.2016
Сообщений: 116
1

Не могу заполнить матрицу из файла

18.05.2018, 19:42. Показов 2037. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Есть квадратная матрица, которая заполняется из текстового файла (если в текстовом файле меньше значений чем в матрице то недостающие заполняются рандомом). В консоле все нормально и хорошо работает, а вот в StringGrid(SG1) не получается((
Вот рабочий код в консоле, как его адаптировать под грид:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void readFile(int** matrix, int n)
{
ifstream fin("file.txt");
if(!fin)
{
cout << "\nError" << endl;
}
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
if(!(fin >> matrix[i][j])) matrix[i][j] = rand() / (RAND_MAX + 1) * (10 - 0) - 0;
}
}
fin.close();
}
А вот обработчик события кнопки "Заполнить из файла":
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm1::RadioButton3Click(TObject *Sender)
{
   RadioButton1->Enabled = false;
   RadioButton2->Enabled = false;
   randomize();
   ifstream fin("file.txt");
   if(!fin){
   MessageDlg("Ошибка открытия файла!", mtError, TMsgDlgButtons()<<mbOK,0);
   }
   for(int i = 0; i < n; i++){
      for(int j = 0; j < n; j++){
      //Вот тут не знаю что писать((((
      }}
   fin.close();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2018, 19:42
Ответы с готовыми решениями:

Заполнить матрицу с файла
Всем привет,есть нужда заполнить матрицу разными способами для дальнейшей роботы с ними немного...

Заполнить матрицу из файла
Нужно с файла заполнить массив чисел 5х5 делаю так: 1) Файл .тхт 12232 11100 12032 12122...

Классы. Не могу заполнить массив из файла
Класс: class Class1 { static public void MassivIzFaila(int x) { ...

Заполнить квадратную матрицу данными из файла и найти столбец с максимальной суммой элементов
Сама суть такова Программно сформировать файл data.txt содержащий 25 случайных чисел, записанных...

1
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
18.05.2018, 23:11 2
nenahov,
чтоб заполнить StringGrid(SG1) все просто.
сначала надо знать как располагаются данные.
заполнение StringGrid(SG1) примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
TStringList * Lst = new TStringList;//
   Lst->LoadFromFile("file.txt");
        int Index=0;        
        SG1->RowCount = (Lst->Count)/SG1->ColCount;//делим на количество колонок
        for(int i=0;i<SG1->ColCount;i++)
                for(int j=0;j<SG1->RowCount;j++)
                {
                        SG1->Cells[i][j]=Lst->Strings[Index];
                        Index++;
                }
 
delete Lst;
этот пример заполняет если файл записан (0 колонка и длина строк) (1 колнка и длина строк)... и.т.д
0
18.05.2018, 23:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2018, 23:11
Помогаю со студенческими работами здесь

Не могу считать матрицу из файла в динамический массив
Вот проблемный кусок программы: fstream f (strConst); if (! f) { cout&lt;&lt;&quot;Error_3&quot;;...

Почти готовая программа с матрицами, не могу загрузить матрицу из файла
Косяк в функции на 32 строке. Собственно мне нужно узнать сколько символов записано в файл, чтобы...

Заполнить матрицу А[N,M] с файла символами, если символы повторяются в рядах то эти же символы заменить на их коды.
Заполнить матрицу А с файла символами, если символы повторяются в рядах то эти же символы заменить...

Заполнить матрицу случайными числами. Вернуть матрицу на 90o по часовой стрелке
Заполнить матрицу случайными числами. Вернуть матрицу на 90o по часовой стрелке.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru