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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2013, 19:37   #1
fygas1991
Пользователь
 
Регистрация: 12.11.2009
Сообщений: 36
По умолчанию задача на сортировку матрицы

задача на C++ в среде DEV_C++

В матрице Z(4,5) переписать в обратном порядке элементы в тех строках,
которые начинаются с ноля.
Вывести исходную и преобразованную матрицы.

я сделал часть, но до конца не могу перевернуть строчку в матрице.
подскажите.

Код:
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    int n=4, m=5;
    double a[n][m];
    double temp;
    double temp1;

    //вводим матрицу
    for (int i=0; i<4; i++)
    {
        for(int j=0; j<5; j++)
        {
                 cin>>a[i][j];
        }
    }
    
    //выводим получинную матрицу на экран
    for (int i=0; i<4; i++)
    {
        for(int j=0; j<5; j++)
        {
                 cout<<a[i][j]<<"  ";
        }
        cout<<"\n";
    }
    
    //проверяем начало каждой строки на "0" и переворачивааем строку.
    int j=0;    
    for (int i=0; i<4; i++)
    {
        if(a[i][j]==0)
        {
                        for(j=0; j<4; j++)
                            {
                                 temp=a[i][j];
                                 temp1=a[i][j+1];
                                 a[i][j+1]= temp;
                                 a[i][j]=temp1;
                            }

        }
    }
    
    cout<<"\n"<<"\n";
    
    //выводим преобразованную матрицу
    for (int i=0; i<4; i++)
    {
        for(int j=0; j<5; j++)
        {
                 cout<<a[i][j]<<"  ";
        }
        cout<<"\n";
    }
    
    system("PAUSE");
    return 0;
}
fygas1991 вне форума Ответить с цитированием
Старый 23.12.2013, 19:50   #2
fygas1991
Пользователь
 
Регистрация: 12.11.2009
Сообщений: 36
По умолчанию

у меня получается что в исходной матрице:
1 2 3 4 5
0 1 2 3 4
1 2 3 4 5
1 2 3 4 5

получаю преобразованную

...
1 2 3 4 0
...
...

а нужно
4 3 2 1 0
fygas1991 вне форума Ответить с цитированием
Старый 23.12.2013, 20:44   #3
fygas1991
Пользователь
 
Регистрация: 12.11.2009
Сообщений: 36
По умолчанию

Код:
                        for(j=0; j<4; j++)
                            {
                                 temp=a[i][j];
                                 a[i][j]=a[i][j+1];
                                 a[i][j+1]=temp;                                 
                            }
Смысле в этой части. Нужно выполнить его несколько раз, каждый раз делая условие j<4 на 1 меньше
Код:
                        for(j=0; j<3; j++)
                            {
                                 temp=a[i][j];
                                 a[i][j]=a[i][j+1];
                                 a[i][j+1]=temp;                                 
                            }
Код:
                        for(j=0; j<2; j++)
                            {
                                 temp=a[i][j];
                                 a[i][j]=a[i][j+1];
                                 a[i][j+1]=temp;                                 
                            }
fygas1991 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++, задача на сортировку OmegaBerkut Помощь студентам 0 06.12.2013 16:54
задача на сортировку arhangel2540 Паскаль, Turbo Pascal, PascalABC.NET 7 28.02.2012 13:58
Задача на сортировку текста papercut Общие вопросы C/C++ 12 22.05.2009 20:38
Задача на сортировку СРОЧНО! theFEAR Паскаль, Turbo Pascal, PascalABC.NET 0 29.04.2009 20:00
Задача на сортировку... Sota Помощь студентам 4 25.05.2008 19:26