Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/33: Рейтинг темы: голосов - 33, средняя оценка - 4.79
Бородатый Админ
1 / 1 / 0
Регистрация: 17.11.2012
Сообщений: 27
1

Заполнить матрицу размером n*m змейкой по горизонтали, начиная движение от элемента matrix[0][0]

23.02.2013, 02:33. Просмотров 6190. Ответов 4
Метки нет (Все метки)

Необходимо заполнить массив int a[n][m] следующим образом (пример для n=4, m=6):
0 1 2 3 4 5
11 10 9 8 7 6
12 13 14 15 16 17
23 22 21 20 19 18
Пытаюсь сделать вот так, но не получается:
C++
1
2
3
4
5
6
7
for(i=1; i<n; i+=2) {
    for(j=0; j<m; j++)
      a[i-1][j] = j;
    p = j+1;
    for(j=j+m; j<p; j--)
      a[i][j] = j;
  }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2013, 02:33
Ответы с готовыми решениями:

Заполнить квадратную матрицу змейкой по диагонали, начиная с элемента matrix[size-1][size-1]
Требуется написать программу, которая заполняет массив размерности n*n по...

Заполнить матрицу змейкой
1 8 9 16 2 7 10 16 3 6 11 14 4 5 12 13

Заполнить матрицу змейкой
25 24 23 22 21 16 17 18 19 20 15 14 13 12 11 6 7 8 9 10 5 4 3 2 1 ...

Заполнить матрицу змейкой
Простая задача. Заполнить матрицу змейкой. Я совершенный новичок. Только начали...

Заполнить матрицу змейкой
Нужно заполнить квадратный двухмерный масив змейкой и вывести. 1 2 3 ...

4
Develops
15 / 15 / 1
Регистрация: 19.02.2013
Сообщений: 41
23.02.2013, 02:48 2
Попробуйте этот код:
C++
1
2
3
4
5
6
7
8
9
10
11
int counter = 0, j;
for(int i = 0; i < n; i++) {
    if((i % 2) == 0) {
        for(j = 0; j < m; j++)
            a[i][j] = counter;
    } else {
        for(j = m - 1; j >= 0; j--)
            a[i][j] = counter;
    }
    counter++;
}
0
Croessmah
++Ͻ
14611 / 8365 / 1576
Регистрация: 27.09.2012
Сообщений: 20,561
Записей в блоге: 2
Завершенные тесты: 1
23.02.2013, 03:12 3
http://www.cyberforum.ru/visual-cpp/thread3621.html
0
ProgaPash
0 / 0 / 0
Регистрация: 27.12.2015
Сообщений: 2
27.12.2015, 19:29 4
Попробуй вот это:
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
for(c=0;c<a;c++)
{
    for(int d=0;d<b;d++)
    {
        if(c%2==0)
        {
        i[c][d]=sum;
        sum++;
        }
        else{
         i[c][d]=sum;
        sum--;
        }
    }
    sum=sum+10;
}
for(c=0;c<a;c++)
{
    for(int d=0;d<b;d++)
    {
        cout<<i[c][d]<<" ";
    }
    
}
Добавлено через 5 минут
Только в этом коде он делает где-то на один шаг в цикле больше,а где то меньше
0
sourcerer
Модератор
Эксперт CЭксперт С++
4862 / 2043 / 325
Регистрация: 20.02.2013
Сообщений: 5,538
Записей в блоге: 24
Завершенные тесты: 1
27.12.2015, 20:53 5
Бородатый Админ, вот тут посмотрите готовый вариант.
0
27.12.2015, 20:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2015, 20:53

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

Заполнить квадратную матрицу 10 на 10 змейкой
заполнить квадратную матрицу 10 на 10 змейкой С++ вот так: 91 92 93 94...98...

Заполнить квадратную матрицу змейкой
заполнить квадратную матрицу NxN змейкой С++ вот так: 25 24 23 22 21 16 17...


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

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

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