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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2014, 18:21   #1
Natasha2332
Пользователь
 
Регистрация: 16.12.2013
Сообщений: 31
По умолчанию

Пожалуйста если кто-нибудь знает помогите, напишите функцию поворота двумерного массива на 180 градусов, против часовой стрелки.
Массив 5x5

Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define ROW 5
#define COLUMN 5

void Display(int *mas, int r, int c)//display function
{
int i, j;
printf("Table of arrays:\n\n");
for(i = 0; i < r; i++)
{
for (j = 0; j < c; j++)
{
printf("%d\t",*(mas+i*c+j));//arrays through the pointers
}
printf("\n");
}
}

void Process(int mas[ROW][COLUMN])
{
int i,j;
int work=0;
for (i=0;i<ROW/2;i++)
for (j=0;j<COLUMN;j++){

work=mas[i][j]; mas[i][j] = mas[ROW-i+1][COLUMN-j+1];
mas[ROW-i+1][COLUMN-j+1]=work;
}


if (ROW % 2==1){
i= (ROW / 2)+1;
for (j=0;j< (ROW / 2);j++){
work=mas[i][j]; 
mas[i][j] = mas[ROW-i+1][COLUMN-j+1]; 
mas[ROW-i+1][COLUMN-j+1]=work;
}
printf("\n%d",mas[i][j]);	}

}
int main() 
{

int mas[ROW][COLUMN];
int i, j;
printf("Programming language\nVariant 9\n\n");
srand(time(NULL));//changing random numbers in each running of the programm

for (i = 0; i < ROW; i++) //creating 2D array
for (j = 0; j < COLUMN; j++)
{
mas[i][j]=rand()%160-80;//filling 2D array with random numbers

}
Display(*mas,ROW,COLUMN);

Process(mas);
system("pause");
getch();
}
попробовала разные варианты но все равно как-то не то выходит

Последний раз редактировалось Stilet; 03.12.2014 в 19:25.
Natasha2332 вне форума Ответить с цитированием
Старый 03.12.2014, 19:26   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
против часовой стрелки.
Э-э-э... Это такой подвох?
Вообще могу конечно предложить такое: http://www.programmersforum.ru/showp...4&postcount=27
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.12.2014, 02:27   #3
Natasha2332
Пользователь
 
Регистрация: 16.12.2013
Сообщений: 31
По умолчанию

извините но то ссылка которую вы дали нет это не то
Natasha2332 вне форума Ответить с цитированием
Старый 05.12.2014, 12:27   #4
Gekan
Пользователь
 
Регистрация: 29.06.2012
Сообщений: 39
По умолчанию

Если я правильно понимаю, то примерно так:

Код:
//надо подключить ещё это
#include <iostream>
#include <iomanip>
using namespace std;

//вот сам поворот для матрицы
//вообще непонятно, зачем ROW и COLUMN, если они равны в этом примере
for (i = 0; i < ROW; i++)
{
	for (j = 0; j < COLUMN; j++)
	{
		cout<<setw(4)<<mas[ROW-i-1][COLUMN-j-1];
	}
	cout<<endl;
}
Gekan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование в VBA: двумерный массив M на N, нужно создать новый одномерный массив TheAnnihilyator Помощь студентам 1 04.06.2014 09:16
Java: Дан двумерный массив чисел А размером 6х6 и одномерный массив Х из 6-ти чисел. Заменить первые три строки массива A vikysha55 Помощь студентам 1 16.04.2014 10:50
Двумерный массив развернуть в одномерный массив по строкам[QBASIC] TrueStyle777 Помощь студентам 3 29.05.2013 21:56
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40