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

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

23.02.2013, 02:33. Просмотров 5864. Ответов 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;
  }

http://www.cyberforum.ru/cpp-beginners/thread1619783.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2013, 02:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Заполнить матрицу размером n*m змейкой по горизонтали, начиная движение от элемента matrix[0][0] (C++):

Заполнить матрицу змейкой
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 ...

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

4
Develops
15 / 15 / 1
Регистрация: 19.02.2013
Сообщений: 40
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
++Ͻ
14148 / 8073 / 1512
Регистрация: 27.09.2012
Сообщений: 19,910
Записей в блоге: 3
Завершенные тесты: 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
gru74ik
Модератор
Эксперт CЭксперт С++
4648 / 1962 / 293
Регистрация: 20.02.2013
Сообщений: 5,223
Записей в блоге: 23
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
Привет! Вот еще темы с решениями:

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

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

Заполнить квадратную матрицу змейкой
Задано число N. Заполните квадратную матрицу NxN числами от 1 до N^2 “змейкой”,...

Заполнить матрицу змейкой согласно условию
Доброго времени суток,в общем,у меня такая проблема,не могу понять ,как сделать...


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

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

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