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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
Kreativ
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
#1

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

27.11.2012, 22:14. Просмотров 2402. Ответов 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);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2012, 22:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заполнение двумерного массива змейкой (C++):

Заполнение массива змейкой - C++
Заполнить массив змейкой; 1 3 4 10 11 21 2 5 9 12 20 22 6 8 13 19 23 30 7 14 18 24 29 31 15 17 25 28 32 35 16 26 27 33 34 36 ...

Заполнение массива змейкой по диагонали - C++
народ можете немного помочь) надо заполнить массив таким способом мне как бы не нужна прям целая программа мне хватит только одного...

Заполнение двумерного массива. - C++
Помогите с лабой: Заполнить программно двумерный массив размером 5х5 следующим образом: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14...

Заполнение двумерного массива - C++
Можно ли заполнить матрицу размером (6 х 6) вида С= \begin{bmatrix} 0 0 0 0 0 1 \\ 0 0 0 0 2 0 \\ 0 0 0 3 0 0 \\ 0 0 4...

Заполнение двумерного массива - C++
дана матрица MxN заполнить ее следущим образом, элементам, находящимся по периметру матрицы, присвоить значение 1, периметру оставшейся...

Заполнение двумерного массива - C++
Есть простой код, но он не работает. Выскакивает сообщение о необработанном исключении. Типо обращение к недоступному участку памяти void...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13139 / 7402 / 829
Регистрация: 27.09.2012
Сообщений: 18,243
Записей в блоге: 3
Завершенные тесты: 1
27.11.2012, 22:19 #2
функция filling вызывается бесконечно. m не будет равен 81. Сделайте, например, условие m>81

Добавлено через 37 секунд
И зачем Вы подключаете iostream, если им не пользуетесь?
Kreativ
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
27.11.2012, 22:31  [ТС] #3
Спасибо большое, да просто в проекте в codeblocks он сам автоматом подключился, забыл удалить, а можно решить задачу как нибудь иначе? попроще
Croessmah
Модератор
Эксперт CЭксперт С++
13139 / 7402 / 829
Регистрация: 27.09.2012
Сообщений: 18,243
Записей в блоге: 3
Завершенные тесты: 1
27.11.2012, 22:34 #4
Как заполнить массив? Рисунок или схему, ибо "змейка" мне ни о чем не говорит
Kreativ
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
27.11.2012, 22:37  [ТС] #5
и вправду а как сюда картинку вставить ?
Croessmah
Модератор
Эксперт CЭксперт С++
13139 / 7402 / 829
Регистрация: 27.09.2012
Сообщений: 18,243
Записей в блоге: 3
Завершенные тесты: 1
27.11.2012, 22:40 #6
Расширенный режим -> вложения (скребка)

Добавлено через 28 секунд
ну а там разберетесь как его потом в сообщение вставить
Kreativ
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
27.11.2012, 22:44  [ТС] #7
Вот кажется
Миниатюры
Заполнение двумерного массива змейкой  
Croessmah
Модератор
Эксперт CЭксперт С++
13139 / 7402 / 829
Регистрация: 27.09.2012
Сообщений: 18,243
Записей в блоге: 3
Завершенные тесты: 1
27.11.2012, 23:09 #8
Цитата Сообщение от Kreativ Посмотреть сообщение
Вот кажется
Заполнение матрицы спиралью
Kreativ
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
27.11.2012, 23:13  [ТС] #9
мне кажется, или у меня код скажем так не эффективный?
Croessmah
Модератор
Эксперт CЭксперт С++
13139 / 7402 / 829
Регистрация: 27.09.2012
Сообщений: 18,243
Записей в блоге: 3
Завершенные тесты: 1
27.11.2012, 23:17 #10
Название: Безымянный.jpg
Просмотров: 674

Размер: 22.2 Кб
Kreativ
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
27.11.2012, 23:19  [ТС] #11
не, я исправил там немного, работает нормально, просто мне как то не нравятся 4 цикла в рекурсии ))
Croessmah
Модератор
Эксперт CЭксперт С++
13139 / 7402 / 829
Регистрация: 27.09.2012
Сообщений: 18,243
Записей в блоге: 3
Завершенные тесты: 1
27.11.2012, 23:22 #12
Цитата Сообщение от Kreativ Посмотреть сообщение
не, я исправил там немного, работает нормально, просто мне как то не нравятся 4 цикла в рекурсии ))
Пройдите по ссылке и посмотрите, как эта задача решена там и сделайте выводы. Разберитесь как работает тот код и напишите свой.
Kreativ
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
27.11.2012, 23:25  [ТС] #13
не могли бы вы посмотреть еще кое что Выделить первое слово из строки(работа с указателями)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 23:25
Привет! Вот еще темы с ответами:

Заполнение двумерного массива - C++
как написать функцию ввода двумерного массива вещественными и не обязательно положительными числами, которые генерируются случайным образом?

Заполнение двумерного массива - C++
Многоуважаемые форумчане, мне нужно создать двумерный массив NxN N - через cin &gt;&gt; N; в котором по главной диагонали числа от N до 1, а в...

Заполнение двумерного массива - C++
Помогите пожалуйста написать програму Двумерного массива с++ по такой схеме 1 3 4 10 11 2 5 9 12 19 6 8 13 18 20 7 14 17 21 24 15...

Заполнение двумерного массива - C++
#include &quot;stdafx.h&quot; const int n=5; int _tmain(int argc, _TCHAR* argv) { int a; int k=0; for(int i=0;i&lt;n;i++) for(int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.11.2012, 23:25
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru