Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/41: Рейтинг темы: голосов - 41, средняя оценка - 4.54
0 / 0 / 2
Регистрация: 29.01.2013
Сообщений: 78
1

Переворот массива

12.06.2013, 00:32. Показов 8097. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как переворачивают не обычных массив, а двухмерный ? К примеру 4x4 ?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2013, 00:32
Ответы с готовыми решениями:

Переворот массива
Как перевернуть массив на 180 градусов ? Помогите. Сам массив уже есть: #include <iostream>...

Переворот массива
#include <bits/stdc++.h> using namespace std; int main() { ifstream cin("input.txt"); ...

Переворот массива
Доброго времени суток! Делал программу по заданию. Само задание ниже Программу вроде бы сделал....

переворот двумерного массива на 90 градусов
Двумерный массив передать в функцию и перевернуть его на 90 градусов, результат вывести в main.

2
544 / 93 / 49
Регистрация: 16.12.2011
Сообщений: 317
12.06.2013, 01:28 2
Лучший ответ Сообщение было отмечено Chymardos как решение

Решение

Алгоритм не идеальный по производительности, но рабочий. Если камрады предложат лучший...

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
#include<iostream>
using namespace std;
 
int main() {
    const int size = 4;//размер матрицы
    int mas[size][size];
    //объявляем одном массив
    int tmpmas[size*size];
    int num; //для заполнения массива
    for(int i = 0;i < 4;i++)
        for(int j = 0;j < 4;j++)
            mas[i][j] = num++; //тут заполнение
    int k = 0; //для индексации элементов одномерного массива
    //запись в массив элементов матрицы
    for(int i = 0;i < 4;i++)
        for(int j = 0;j < 4;j++,k++)
            tmpmas[k] = mas[i][j];
    k = size * size - 1;//установка индекса одном массива на конец
    //перепись матрицы начиная с конца одном массива
    for(int i = 0;i < 4;i++)
        for(int j = 0;j < 4;j++,k--)
            mas[i][j] = tmpmas[k];
    //вывод массива в консоль
    for(int i = 0;i < 4;i++)
        for(int j = 0;j < 4;j++)
            cout << mas[i][j] << endl;
    system("pause");
    return 0;
}
1
212 / 131 / 28
Регистрация: 20.03.2009
Сообщений: 1,123
Записей в блоге: 16
12.06.2013, 01:53 3
Если под переворачиванием подразумевается отражение относительно побочной диагонали, то
C++
1
2
3
for (int i = 0; i < sz - 1; ++i)
 for (int j = 0; j <= i; ++j)
  swap(a[i][j], a[sz - i + 1][sz - j + 1]);
2
12.06.2013, 01:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2013, 01:53
Помогаю со студенческими работами здесь

Массив: переворот половины массива
Народ. Помогите пожалуйста с программой. Нужно сделать переворот половины массива. Нужно изменить...

Переворот массива с произвольного индекса
Здравствуйте. Помогите написать программу, которая бы переворачивала массив с индекса, который...

Переворот массива с помощью указателей
Здрасте! Учусь на программера недавно. Вот задали перевернуть массив рекурсивно с использованием...

Переворот двумерного массива на 90 градусов
Есть прямоугольный двумерный массив размерностью NxM. Требуется создать и вывести новый массив,...


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

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