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

Заполнение двумерного массива змейкой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ БНФ http://www.cyberforum.ru/cpp-beginners/thread711430.html
Написати систему БНФ Написать любую систему) Спасибо
C++ Рекурсия Имитировать выполнение программы по рекурсивной функцией. Привести пример http://www.cyberforum.ru/cpp-beginners/thread711428.html
Найти наиболее часто встречающееся число без использования массивов C++
Дана задача: В массиве целых чисел с количеством элементов n найти наиболее часто встречающееся число. Если таких чисел несколько, то определить наименьшее из них. но загвостка в том, что нужно...
C++ Главная функция (вводит некоторые значения и передает их и ссылки на некоторые переменные в функцию)
Написать главную функцию, которая вводит некоторые значения и передает их и ссылки на некоторые переменные в функцию. Получив результаты работы с вызова функции, главная функция выводит их. Пример...
C++ Реккурентные соотношения http://www.cyberforum.ru/cpp-beginners/thread711419.html
Задали формулу, по которой некоторая величина вычисляется как сумма или произведение. Написать систему рекуррентных соотношений, которые позволяют вычислить величину без повторных вычислений тех же...
C++ Односвязный список. поставить последний эл-т на первое место задача заключается в том, чтобы циклически сдвинуть список на один эл-т, то есть поставить последний эл-т на первое место. Назовем А - последний эл-т в исходном списке, В - первый. Если я правильно... подробнее

Показать сообщение отдельно
Kreativ
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202

Заполнение двумерного массива змейкой - C++

27.11.2012, 22:14. Просмотров 2415. Ответов 12
Метки (Все метки)

Добрый вечер, помогите пожалуйста, я написал код заполнения матрицы змейкой начиная от левого верхнего угла, но выдает ошибку Stack Overflow, подскажите в чем ошибка, вот сам код, конечно код мягко говоря ужасный, но не знаю как иначе сделать:

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
int filling(int mas[][9], int x, int y);
 
int main()
{
    int result;
    int mas[9][9] = {0};
 
    result = filling(mas, 0, 8);
 
    for(int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 9; j++)
        {
            printf("%4d", mas[i][j]);
        }
        printf("\n");
    }
 
    return 0;
}
 
int filling(int mas[][9], int x, int y)
{
    static int m = 1;
 
    if (m == 81)
        return m;
 
    for(int i = x; i <= y; i++)
    {
        mas[x][i] = m;
        m++;
    }
    for (int i = x; i <= y; i++)
    {
        mas[i][y] = m;
        m++;
    }
    for (int i = y; i >= x; i--)
    {
        mas[y][i] = m;
        m++;
    }
    for (int i = y; i > x; i--)
    {
        mas[i][x] = m;
        m++;
    }
    x++;
    y--;
 
    return filling(mas, x, y);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru