
C/C++
Преобразование матрицы в строку по схеме
Преобразовать матрицу в строку по схеме под буквой б


#include < iostream >
using namespace std;
int main() {
int sizex, sizey;
cin >> sizex >> sizey; // ввод размера массива
int** array = new int* [sizex];
for (int i = 0; i < sizex; i++) array[i] = new int[sizey]; //создание
for (int i = 0; i < sizex; i++) //заполнение
for (int j = 0; j < sizey; j++)
array[i][j] = rand() % 101 - 50;
for (int i = 0; i < sizex; i++) {//печать
for (int j = 0; j < sizey; j++) cout << array[i][j] << " ";
cout << endl;
}
int i = 0, j = 0, it = 0; //it - итератор строки, i j - исходного массива
int* arraystring = new int[sizex * sizey]; //новый массив в виде строки
while (it < sizex * sizey) //цикл заполнения
{
arraystring[it] = array[i][j];
if (it % sizex == sizex - 1) { //если арошли один столбец то
j++; it++; continue;//перейти на следующий столбец и в начало цикла
}
j%2? i-- : i++; //в зависимости от текущего столбца двигаться вниз или вверх по нему.
it++;
}
cout << "\n\n\n";
for (int i = 0; i < sizex * sizey; i++) cout << arraystring[i] << " "; //печать строки
//тут могла бы быть ваше реклама или освобождение памяти от массивов. но это не существенно.
//см. delete []
}
using namespace std;
int main() {
int sizex, sizey;
cin >> sizex >> sizey; // ввод размера массива
int** array = new int* [sizex];
for (int i = 0; i < sizex; i++) array[i] = new int[sizey]; //создание
for (int i = 0; i < sizex; i++) //заполнение
for (int j = 0; j < sizey; j++)
array[i][j] = rand() % 101 - 50;
for (int i = 0; i < sizex; i++) {//печать
for (int j = 0; j < sizey; j++) cout << array[i][j] << " ";
cout << endl;
}
int i = 0, j = 0, it = 0; //it - итератор строки, i j - исходного массива
int* arraystring = new int[sizex * sizey]; //новый массив в виде строки
while (it < sizex * sizey) //цикл заполнения
{
arraystring[it] = array[i][j];
if (it % sizex == sizex - 1) { //если арошли один столбец то
j++; it++; continue;//перейти на следующий столбец и в начало цикла
}
j%2? i-- : i++; //в зависимости от текущего столбца двигаться вниз или вверх по нему.
it++;
}
cout << "\n\n\n";
for (int i = 0; i < sizex * sizey; i++) cout << arraystring[i] << " "; //печать строки
//тут могла бы быть ваше реклама или освобождение памяти от массивов. но это не существенно.
//см. delete []
}
Похожие вопросы
- Найти максимальный элементы в строке матрицы
- Leetcode. Обнулить строки и столбцы матрицы с константным потреблением памяти.
- Работа с матрицами. Нужно найти сумму элементов каждой строки. Помогите пожалуйста ????????
- Чёт не пойму, как сделать рандомные значения матрицы через массив, прошу доработать, пж прогу!
- Если в каждой строке матрицы наименьшие К чисел образуют одно и то же множество
- Записать в файл те строки матрицы, которые содержат только один ноль С++ ПОМОГИТЕ ИСПРАВИТЬ КОД
- Операторы преобразования типов в C++
- Матрицы, массивы C++
- Программирование матриц на С++
- C++Дана целочисленная матрица размера mn. Найти матрицу, получающуюся перестановкой столбцов