Форум программистов, компьютерный форум, киберфорум
Наши страницы

Преобразование информции из текстового файла в двумерный массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Рандом растет http://www.cyberforum.ru/cpp-beginners/thread448633.html
srand(time(0)); int j=rand()%1000; char s="afasfa"; switch (message) /* handle the messages */ { case WM_DESTROY: {PostQuitMessage (0); ...
C++ Шаблоны и исключения Возможно ли задать аргумент catch по типу шаблона, чтобы одним блоком catch перехватывать исключения всех специализаций шаблона (int, double и др.) ? #include <iostream> #include <exception>... http://www.cyberforum.ru/cpp-beginners/thread448624.html
составить программу для вычисления формулы C++
задание во вложенном файле
vector<char> to char* C++
Пример: вектор v, v.size()=59 char* key = new char; strlen(key)=72 почему? либо как по-другому сделать? у меня есть вектор (строка с числами через пробел) мне нужно из нее получить массив...
C++ Посимвольное сравнение http://www.cyberforum.ru/cpp-beginners/thread448591.html
Не могу понять что я делаю не так, объясните пожалуйста. #include <iostream> #include <string> using namespace std; void main() { char q1, q2; int r1, r2;
C++ Стрелочные часы. Всем доброго время суток. Нашел в интернете код (DEV C++ WINAPI ANALOG CLOCK) программы исполнение которого запускает стрелочные часы: #include <windows.h> #include <windowsx.h> #include... подробнее

Показать сообщение отдельно
DU
1484 / 1130 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
19.02.2012, 01:26
Ну вот как двумерный массив символов можно использовать тип
std::vector<std::string>
Его использование решит проблему неизвестного размера лабиринта.
Сохранить все назад в файл тоже будет очень просто. Так же как и в функции PrintArray. Только вместо экрана будет файловый стрим.

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
#include <iostream>
#include <string>
#include <vector>
 
using namespace std;
 
typedef vector<string> CharArray2D;
 
void PrintArray(const CharArray2D& arr)
{
  for (unsigned i = 0; i < arr.size(); ++i)
    cout << arr[i] << endl;
}
 
void ProcessArray(CharArray2D& arr)
{
  // Вот тут синтаксис такой же как и при работе с двумерным массивом.
 
  for (unsigned i = 0; i < arr.size(); ++i)
  {
    for (unsigned j = 0; j < arr[i].size(); ++j)
    {
      arr[i][j] = 'a';
    }
  }
}
 
void ReadArray(CharArray2D& arr)
{
  // Вот тут вместо захардкоженного заполнение массива строками нужно по строке читать из файла
  // и пушить их в такой вот вектор. Код чтения строк из файла уже есть.
 
  CharArray2D tmp;
  tmp.push_back("123");
  tmp.push_back("456");
  tmp.push_back("789");
  arr.swap(tmp);
}
 
int main()
{
  CharArray2D arr;
  ReadArray(arr);
  PrintArray(arr);
 
  ProcessArray(arr);
  PrintArray(arr);
 
  return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru