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

Не совсем змейка - C++

Восстановить пароль Регистрация
 
Zhandarbek
3 / 3 / 0
Регистрация: 15.08.2011
Сообщений: 60
23.01.2012, 13:24     Не совсем змейка #1
Доброго времени суток!
Пожалуйста помогите решить задачу:
Входные данные:
4
1 3 6 10
2 5 9 13
4 8 12 15
7 11 14 16
Выходные данные:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

То есть, нужно вывести массив в порядке: mas[0][0], mas[1][0], mas[0][1], mas[2][0], mas[1][1] и т. д.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2012, 13:24     Не совсем змейка
Посмотрите здесь:

C++ змейка
C++ Змейка в С
C++ змейка с++
C++ Игра змейка
C++ Змейка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Melkor
30 / 30 / 1
Регистрация: 15.12.2011
Сообщений: 108
23.01.2012, 13:56     Не совсем змейка #2
Цитата Сообщение от Zhandarbek Посмотреть сообщение
То есть, нужно вывести массив в порядке: mas[0][0], mas[1][0], mas[0][1], mas[2][0], mas[1][1] и т. д.
тебе его отсортировать надо такие задачи вроде уже встречались.
Zhandarbek
3 / 3 / 0
Регистрация: 15.08.2011
Сообщений: 60
24.01.2012, 07:32  [ТС]     Не совсем змейка #3
Цитата Сообщение от Melkor Посмотреть сообщение
тебе его отсортировать надо такие задачи вроде уже встречались.
Окей, а если числа не по порядку а схема та же должна быть?
FroL
61 / 49 / 2
Регистрация: 07.01.2010
Сообщений: 301
24.01.2012, 10:13     Не совсем змейка #4
Сначала переведи его в обычный массив (одномерный), а потом отсортируй его либо методом быстрой сортировки, либо пузырьковой.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.01.2012, 10:46     Не совсем змейка #5
Если я правильно понял задачу, то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
 
typedef std::vector< int > T_row;
typedef std::vector< T_row > T_matr;
 
int main()
{
    int n;
    std::cin >> n;
    
    T_matr matrix( n, T_row(n) );
    
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < n; ++j)
            std::cin >> matrix[i][j];
            
    for (int k = 0; k < n * 2 - 1; ++k)  //k - номер диагонали
        for (int i = std::min(n - 1, k); i >= 0 && k - i < n; --i)
                std::cout << matrix.at(i).at(k - i) << ' ';
}
Zhandarbek
3 / 3 / 0
Регистрация: 15.08.2011
Сообщений: 60
24.01.2012, 12:09  [ТС]     Не совсем змейка #6
diagon, спасибо, ваше решение помогло.
Yandex
Объявления
24.01.2012, 12:09     Не совсем змейка
Ответ Создать тему
Опции темы

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