Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2011, 15:59   #1
SoTwisted
Пользователь
 
Регистрация: 11.01.2011
Сообщений: 12
По умолчанию Работа с файлами

В текстовом файле хранится целочисленная матрица. «Разорвать» эту матрицу по главной диагонали, записав в другой файл сначала элементы, находящиеся над диагональю, потом в одну строку диагональные элементы, и затем элементы, находящиеся под диагональю. Форма треугольников должна сохраниться.

Последний раз редактировалось SoTwisted; 24.04.2011 в 17:17.
SoTwisted вне форума Ответить с цитированием
Старый 24.04.2011, 16:17   #2
WebbMan
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 168
По умолчанию

Можешь пример текстового файла показать?
5 6, 4 6, 4 9
[4,6][2,8][6,7]
там ведь по разному может быть...
WebbMan вне форума Ответить с цитированием
Старый 24.04.2011, 16:36   #3
SoTwisted
Пользователь
 
Регистрация: 11.01.2011
Сообщений: 12
По умолчанию

В смысле? Если про матрицу, то насколько я понял, она должна в файле входном выглядеть как:
1 2 3
4 5 6
7 8 9
SoTwisted вне форума Ответить с цитированием
Старый 24.04.2011, 17:06   #4
WebbMan
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 168
По умолчанию

диагональ как с верхушки слева на право вниз или сверхушки справа на лево вниз ?
WebbMan вне форума Ответить с цитированием
Старый 24.04.2011, 17:17   #5
SoTwisted
Пользователь
 
Регистрация: 11.01.2011
Сообщений: 12
По умолчанию

Слева направо. Забыл про язык сказать. Надо на C, а не на C++
SoTwisted вне форума Ответить с цитированием
Старый 25.04.2011, 14:55   #6
WebbMan
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 168
По умолчанию

Вот на С++ алгоритм нахождения "верхнего треугольника", диагонали и нижнего треугольника.
Код:
int x,y = 3;//длинна, ширина матрицы в символах, в данном случае имеется ввиду 0,1,2,3


 for (int h = 0; h <= x; h++){
           for(int i = h+1; i<y+1; i++)
           cout << mass_two[h][i] << " | ";
            cout << endl;}
   cout << "=============================" << endl;
   
   
    for (int h = 0; h <= x+1; h++){
           for(int i = h; i==h; i++)
           cout << "-" << mass_two[h][i] << "-";}
   cout << endl << "=============================" << endl;
   
    
 for (int h = 0; h <= x+1; h++){
           for(int i = 0; i<h; i++)
           cout << mass_two[h][i] << " | ";
            cout << endl;}
   cout << "=============================" << endl;
WebbMan вне форума Ответить с цитированием
Старый 25.04.2011, 19:30   #7
SoTwisted
Пользователь
 
Регистрация: 11.01.2011
Сообщений: 12
По умолчанию

Большое спасибо)
SoTwisted вне форума Ответить с цитированием
Старый 25.04.2011, 19:56   #8
WebbMan
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 168
По умолчанию

могу подсказать полный алгоритм твоей задачи, только С не знаю сам напишешь код...
WebbMan вне форума Ответить с цитированием
Старый 03.05.2011, 00:53   #9
SoTwisted
Пользователь
 
Регистрация: 11.01.2011
Сообщений: 12
По умолчанию

Давай, думаю, что разберусь. У меня все проблемы только с идеей, как делать, остальное додумаю)
SoTwisted вне форума Ответить с цитированием
Старый 03.05.2011, 13:20   #10
WebbMan
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 168
По умолчанию

1.В файле: вначале считаешь первую строку, потом узнаешь сколько символов в ней. Допустим символов 3, тогда присваиваешь y = 3
2. считаешь сколько строк, допустим 3 строки, присваиваешь x = 3.
3. Создаешь двумерный массив, например mass_two[y][x];
4. Записываешь матрицу с файла в массив, в таком же порядке
например, если дана такая матрица:
1 2 3
4 5 6
7 8 9
то mass_two[0][0] = 1, mass_two[0][1] = 2
mass_two[1][0] = 4 и т.д...
5. Потом применяешь тот код приведенный в примере выше...
P.S. Я бы написала код, только С не знаю
WebbMan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами good-spamer Помощь студентам 2 17.02.2010 16:38
C работа с файлами svetikpgaek Помощь студентам 0 26.12.2009 22:13
Работа с файлами ФЁкЛА Общие вопросы C/C++ 8 26.02.2009 00:16
Работа с файлами на С++ nec117 Общие вопросы C/C++ 4 24.02.2009 23:18
Работа с файлами Yar Помощь студентам 2 02.06.2008 08:03