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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2009, 09:36   #1
rus_rock_no_dead
 
Регистрация: 20.01.2009
Сообщений: 7
По умолчанию С++ Двухмерные массивы

Помогите мне пожалуйста!! Нужно заполнить квадратную матрицу целых чисел размером 9х9 случайными числами и ,затем, развернуть матрицу на 90 градусов ПРОТИВ часовой стрелки. Ниже представлен код аналогичного задания, но с разворотом матрицы на 90 градусов ПО часовой стрелке...
Код:

Код:
#include <iostream.h>
#include <conio.h>
#define x 9
#include <stdlib.h>

int main()
{
char rep='y';
cout << "Программа поварачивающая массив на угол 90 по часовой стрелке\n";
randomize();
while (rep != 'n')
    	{
      int counts[x][x], arr[x][x], k=10, i, j, t1, t2;
       for (i=0;i<x;i++)
           {
            for(j=0;j<x;j++)
            counts[i][j]=random(k);
           }
       cout<<"Сгенерирован следующий массив:" ;            //Генерируем и выводим исходный массив
       for (i=0;i<x;i++)
           {
            cout<<"\n";
            for(j=0;j<x;j++)
            cout<< counts[i][j] << " " ;
           }

       for (i=0;i<x;i++)
           {
           for(j=0;j<x;j++)
             {
             t2=x-j-1;
             arr[i][t2]=counts[j][i];
             }
           }

           cout<<"\n";
           cout<<"\n";

       for (i=0;i<x;i++)
           {
            cout<<"\n";
            for(j=0;j<x;j++)
            cout<<arr[i][j]<<" ";
           }

       cout << "\n\nХотите повторить? (Y/N) ";
       cin >> rep;
       }
cout << "\n\nНажмите любую кнопку для выхода из программы.";
getch();
return 0;
}
Заранее благодарен за помощь...
rus_rock_no_dead вне форума Ответить с цитированием
Старый 21.01.2009, 11:59   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Замените основной цикл на:
Код:
for (i=x-1;i>=0;i--)
           {
           for(j=x-1;j>=0;j--)
             {
             t2=x-j-1;
             arr[j][i]=counts[i][t2];
             }
           }
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 21.01.2009, 12:08   #3
rus_rock_no_dead
 
Регистрация: 20.01.2009
Сообщений: 7
По умолчанию

Спасибо...
rus_rock_no_dead вне форума Ответить с цитированием
Старый 21.01.2009, 12:14   #4
eyo
Помощник
Пользователь
 
Регистрация: 24.12.2008
Сообщений: 55
По умолчанию

Все точно также, только в повороте замени на arr[x-j-1][i]=counts[i][j];
И убери строку с t2=x-j-1.
Продал кроссовки Fila, купил текилу.
eyo вне форума Ответить с цитированием
Старый 23.05.2010, 23:21   #5
aggressor74
 
Регистрация: 23.05.2010
Сообщений: 6
По умолчанию

Помогите пожайлусто решить задачу (написать прогу):дан двухмерный массив, заполненный нулями и единицами. Найти прямоугольник наибольшей площади, заполненный единицами.
aggressor74 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
про двухмерные массивы alexov Общие вопросы C/C++ 7 07.12.2008 21:03
Двухмерные массивы (С++) Nattka Помощь студентам 2 04.12.2008 21:15
Двухмерные массивы - ошибка fudzy79 Помощь студентам 21 06.02.2008 22:50