Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
sosexy
0 / 0 / 1
Регистрация: 09.12.2015
Сообщений: 9
#1

Подправить код, заполнение матрицы по спирали - C++

15.03.2016, 17:26. Просмотров 161. Ответов 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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
using namespace std;
 
int main() {
    int k,j,i,p;
    int const n =4;
    i=0; j=0; p=0;
    int mas[n][n];
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            mas[i][j]=0;
        }
    }
    for(k=0;k<n*n;k++)
    {
        nachalo:;
        if((p==0)&&(mas[i][j]==0)&&(j<n))
        {
            mas[i][j]=k;
            j++;
        }
        else{
            p=1;
            mas[i+1][j]=k;
            goto next;
        }
        next:;
        if((p==1)&&(mas[i+1][j]==0)&&(i<n))
        {
            mas[i+1][j]=k;
            i++;
        }
        else{
            p=2;
            mas[i][j-1]=k;
            goto next1;
        }
        next1:;
        if((p==2)&&(mas[i][j-1]==0)&&(j<n))
        {
            mas[i][j-1]=k;
            j--;
        }
        else{
            p=3;
            mas[i-1][j]=k;
            goto next2;
        }
        next2:;
        if((p==3)&&(mas[i-1][j]==0)&&(i<n))
        {
            mas[i-1][j]=k;
            i--;
        }
        else{
            goto nachalo;
        }
        cout<<mas[i][j]<<endl;
    }
 
}
Добавлено через 16 минут
забыл сказать, ошибку выдает " Timeout "
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2016, 17:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Подправить код, заполнение матрицы по спирали (C++):

Заполнение матрицы по спирали: модифицировать имеющийся код
Подскажите пожалуста, каким образом поменять цикл, чтобы заполнение началось с...

Заполнение матрицы по спирали
Напишите программу, которая заполняет матрицу из N строк и M столбцов...

Заполнение матрицы по спирали
Здравствуйте! Помогите, пожалуйста, с задачей: Заполнить квадратную матрицу nxn...

Заполнение матрицы по спирали
Заполнить матрицу 10х10 числами от 1 до 100 по порядку, начиная с верхнего...

Заполнение матрицы по спирали
как заполнить матрицу ЛП, от левого верхнего угла по спирали: вправо - вниз -...

Заполнение матрицы по спирали
Привет всем, можете помочь пожалуйста: надо придумать алгоритм, написать код на...

2
yrceus
82 / 82 / 80
Регистрация: 25.08.2013
Сообщений: 330
15.03.2016, 20:21 #2
не знаю как именно переходить если одно логическое условие стало ложным, к другому.
C++
1
2
3
4
5
if (...) {}
else if (...) {}
else if (...) {}
else {}
//если об этом
А так вот, на Си решение есть http://www.cyberforum.ru/c-beginners/thread1632676.html
поменять printf на cout и первые две библиотеки на iostream.
0
marat_miaki
149 / 138 / 87
Регистрация: 08.04.2013
Сообщений: 554
16.03.2016, 12:36 #3
Может стоит подумать тот ли алгоритм решения выбрал
сколько условии найдешь тут?http://www.cyberforum.ru/cpp-beginners/thread1670586.html
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2016, 12:36
Привет! Вот еще темы с решениями:

Заполнение матрицы по спирали
Дано натуральное N (1&lt;=N&lt;=10). Заполнить матрицу порядка N*N целыми числами 0,...

Заполнение матрицы по спирали из центра!
Добрый вечер, срочно нужна помощь! Никак не могу сделать задание по...

Заполнение матрицы змейкой (по спирали)
Люди!Помогите!Пожалуста!У меня зачёт скоро!Не могу сделать прогу!В чём...

Заполнение динамической матрицы по спирали из центра
Дано число n. Создайте массив int A и заполните его по спирали начиная с числа...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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