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

Строка в матрицу - C++

Восстановить пароль Регистрация
 
irma
0 / 0 / 0
Регистрация: 12.06.2009
Сообщений: 60
17.03.2012, 09:31     Строка в матрицу #1
Помогите пожалуйста
Есть такая задача
001100101 101100111 (по середине три пробели) нужно их перенести в двух матрицах так чтобы получить
001
100
101
и
101
100
111

исходные данные находятся в файле, можно и в строке,
заранее спасибо,
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
20.03.2012, 18:54     Строка в матрицу #2
Пусть входной массив - int* arr, тогда перевод в матрицу будет выглядеть так:
C++
1
2
3
4
5
6
7
8
9
int i, j, l, n = 3;
 
int** matr = new int*[n];
for(i = 0; i < n; ++i)
    matr[i] = new int[n];
 
for(i = 0, l = 0; i < n; ++i)
    for(j = 0; j < n; ++j)
        matr[i][j] = arr[l++];
irma
0 / 0 / 0
Регистрация: 12.06.2009
Сообщений: 60
21.03.2012, 19:10  [ТС]     Строка в матрицу #3
здесь для меня не так все ясно, можете по яснее пожалуйста, лучше будет если прокомертируйте, заранее спасибо
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
21.03.2012, 19:15     Строка в матрицу #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int i, j, l, n = 3; // объявление переменных
 
//  объявление и выделение памяти под двумерный массив
int** matr = new int*[n]; 
for(i = 0; i < n; ++i)
    matr[i] = new int[n];
//--- 
 
// перевод одномерного массива в двумерный
for(i = 0, l = 0; i < n; ++i)
    for(j = 0; j < n; ++j)
        matr[i][j] = arr[l++];
//---
Тип не имеет значения, т.к. алгоритм один и тот же
Yandex
Объявления
21.03.2012, 19:15     Строка в матрицу
Ответ Создать тему
Опции темы

Текущее время: 05:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru