Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2018, 21:04   #1
esketit
Новичок
Джуниор
 
Регистрация: 09.10.2018
Сообщений: 4
По умолчанию Помогите с заданием (Си)

заполнить массив следующим образом

#define M 12 /* количество строк */
#define N 10 /* количество столбцов */

int main(int argc, char *argv[])
{
int array[M][N];
int row; /* индекс строки */
int column; /* индекс столбца */
int filler = 0;

/* начинаем заполнять с последнего столбца */
for (column = N - 1; column >= 0; column--) {

/* если столбец нечётный (если считать справа налево) */
if ((N - column)%2 != 0) {

/* заполняем столбец сверху вниз */
for (row = 0; row < M; row++) {
++filler;
array[row][column] = filler;
}
}
else { /* иначе */

/* заполняем столбец снизу вверх */
for (row = M - 1; row >= 0; row--) {
++filler;
array[row][column] = filler;
}
}
}

/* печать массива */
for (row = 0; row < M; row++) {
for (column = 0; column < N; column++) {
printf("%5d", array[row][column]);
}
printf("\n");
}

Добавлено через 14 секунд
#define M 12 /* количество строк */
#define N 10 /* количество столбцов */

int main(int argc, char *argv[])
{
int array[M][N];
int row; /* индекс строки */
int column; /* индекс столбца */
int filler = 0;

/* начинаем заполнять с последнего столбца */
for (column = N - 1; column >= 0; column--) {

/* если столбец нечётный (если считать справа налево) */
if ((N - column)%2 != 0) {

/* заполняем столбец сверху вниз */
for (row = 0; row < M; row++) {
++filler;
array[row][column] = filler;
}
}
else { /* иначе */

/* заполняем столбец снизу вверх */
for (row = M - 1; row >= 0; row--) {
++filler;
array[row][column] = filler;
}
}
}

/* печать массива */
for (row = 0; row < M; row++) {
for (column = 0; column < N; column++) {
printf("%5d", array[row][column]);
}
printf("\n");
}
Изображения
Тип файла: jpg 56565.JPG (9.5 Кб, 48 просмотров)
esketit вне форума Ответить с цитированием
Старый 09.10.2018, 21:05   #2
esketit
Новичок
Джуниор
 
Регистрация: 09.10.2018
Сообщений: 4
По умолчанию

этот код начинает змейку справа
esketit вне форума Ответить с цитированием
Старый 09.10.2018, 21:13   #3
esketit
Новичок
Джуниор
 
Регистрация: 09.10.2018
Сообщений: 4
По умолчанию

объясните пожалуйста как сделать чтобы счет шёл слева
esketit вне форума Ответить с цитированием
Старый 09.10.2018, 21:20   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну очевидно же...Есть цикл от N-1 до 0, а вам надо в другую сторону...
Цитата:
Сообщение от esketit Посмотреть сообщение
for (column = N - 1; column >= 0; column--) {
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с заданием. MrN0tch Паскаль, Turbo Pascal, PascalABC.NET 1 21.11.2013 14:48
помогите с заданием klepan Общие вопросы C/C++ 2 26.06.2009 12:32
помогите с заданием slim5 Помощь студентам 1 18.06.2008 08:50
Помогите с заданием... flait111 Помощь студентам 4 14.12.2007 16:49