Форум программистов, компьютерный форум CyberForum.ru

Масив типа змейкой - C++

Восстановить пароль Регистрация
 
Tomikun
1 / 1 / 0
Регистрация: 16.03.2012
Сообщений: 45
21.03.2012, 16:41     Масив типа змейкой #1
надо заполнить двухмерный масив рандромом например :

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

а вывести ево уже

1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

обясни плиз хоть как ето должно работать . думал взять построчно перекинуть в один 1 мерный масив отсортировать и потом както заполнять но чет невыходит пока ток заполнил рендромом и вывел а как все остальное даж придумать немогу ( если ктот может обясните плиз хоть чюток.

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
30
31
32
33
34
35
36
37
38
39
40
41
void main()
{
    setlocale(LC_ALL, "Russian");
 
    const int size=25;
    int m[size][size];
    int mas[size];
        int  n , k , tmp;
        
 
    cout<<" введите число № 1 ";
    cin>>n;
    cout<<"\n"<<" введите число № 2 ";
    cin>>k;
    cout<<"\n";
 
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<k;j++)
            {
               m[i][j]=rand()%22;
            }
    }
 
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<k;j++)
                {
                  cout<<"\t"<<m[i][j]<<" ";
                }
        cout<<"\n\n\n";
        }
 
 
        for(int i =0 , j=0 ; j<k ; i++ , j++)
                {
                  tmp=m[i][j];mas[j]=tmp;
                  cout<<mas[j];
                }
    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
21.03.2012, 16:54     Масив типа змейкой #2
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
30
31
32
33
34
void main()
{
        setlocale(LC_ALL, "Russian");
        srand(tme(NULL));//чтобы числа менялись,были случайными
        const int size=25;
        int m[size][size];
        int mas[size]={};
                int  n , k , tmp;
        
 
        cout<<" введите число № 1 ";
        cin>>n;
        cout<<"\n"<<" введите число № 2 ";
        cin>>k;
        cout<<"\n";
 
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<k;j++)
                        {
                           m[i][j]=rand()%22;
                        }
        }
 
                for(int i=0;i<n;i++)
                {
                        for(int j=0;j<k;j++)
                                {
                                  cout<<"\t"<<m[i][j]<<" ";
                                }
                cout<<"\n\n\n";
                }
        
}
Лучше создайте массив одномерный,размером n*k и туда записывайте числа ваши,потом простенькой сортировкой их сортируете,например qsort или пузырек напишите,а потом выводите на экран
Сначала печатаем первую строку,далее вы печатаете как бы столбец,т.е надо выводить элементы не как обычно,а при переходе ко второй строке печатать уже элемент отсоящий на k позиций и печатать до n-го и потом снова при переходе на строку новую печатаь k-ый.
Ну вы как бы передвигаете каретку на k позиций и печатаете как бы в обратном порядке,потом снова каретку передвигаете
Если не поянтно,я попробую написать понятнее))
Tomikun
1 / 1 / 0
Регистрация: 16.03.2012
Сообщений: 45
21.03.2012, 17:06  [ТС]     Масив типа змейкой #3
так я создал двухмерный масив , заполнил рендромно и теперь создаю одномерный масив n*k и все значения из двухмерного переприсвоюю в одномерный и там уже сортую да ?

Добавлено через 9 минут
чет не оч понимаю (
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
21.03.2012, 21:34     Масив типа змейкой #4
Нет,зачем вам двумерный массив?Можно вполне обойтись и одномерным!
Просто работайте с одномерным массивом.Заполняете его рандомно,сортируете,а дальше выводите как я написал
Yandex
Объявления
21.03.2012, 21:34     Масив типа змейкой
Ответ Создать тему
Опции темы

Текущее время: 10:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru