Другие языки программирования и технологии
Двумерный массив. Язык Си.
Нужно сделать календарь на месяц октябрь с использованием массивов и отобразить его в командной строке. В начале и в конце, где нет дней в октябре нужно поставить нули. Вот то, что я напортачил. #include<stdio.h> int main(void) { int a[7][6] = {{0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0}}; printf("October\n"); printf("%d", a); long int delay; for(delay=1; delay<1999999999; delay++); } Где ошибка?
long int delay;
for(delay=1; delay<1999999999; delay++);
}
----------
это зачем? задержка экрана? ?
а getch(); уже не подходит ?))
и должно быть так а [ 6 ][ 7 ]
#include<stdio.h>
using namespace std;
int main() {
int a[6][7] = {{ 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0}};
printf("October\n");
for (int i=0;i<6;i++)
{
for (int j=0;j<7;j++)
printf("\t %d", a[ i ][ j ]);
printf("\n");
}
}
for(delay=1; delay<1999999999; delay++);
}
----------
это зачем? задержка экрана? ?
а getch(); уже не подходит ?))
и должно быть так а [ 6 ][ 7 ]
#include<stdio.h>
using namespace std;
int main() {
int a[6][7] = {{ 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0}};
printf("October\n");
for (int i=0;i<6;i++)
{
for (int j=0;j<7;j++)
printf("\t %d", a[ i ][ j ]);
printf("\n");
}
}
в объявлении "a" сомневаюсь (порядок индексов -но тут не уверен -давно так не задавал массивы)
printf("%d", a); вывод целого, а "а" это указатель на массив указателей.
long int delay - в С переменные обьявляются в начале функции, а не по ходу дела (это не С++)
Сам цикл по delay: Ну прокрутится он ничего не делая кроме зажора проца и помрёт.
и 1999999999 проверь по размеру на попадание в свою версию. может оказаться отрицательным или укоцаным до 2х байтов
printf("%d", a); вывод целого, а "а" это указатель на массив указателей.
long int delay - в С переменные обьявляются в начале функции, а не по ходу дела (это не С++)
Сам цикл по delay: Ну прокрутится он ничего не делая кроме зажора проца и помрёт.
и 1999999999 проверь по размеру на попадание в свою версию. может оказаться отрицательным или укоцаным до 2х байтов
printf("%d", a); //Что ты хотел этим вывести?
for(int i=0; i<7;++i)
{
for(int j=0; j<6;++j)
printf("%d",a[j]);
printf("\n");
}//Это поэлементный вывод,
//Если в задании написано "двумерный массив" то с ним и надо работать, а у тебя этого нет.
for(int i=0; i<7;++i)
{
for(int j=0; j<6;++j)
printf("%d",a[j]);
printf("\n");
}//Это поэлементный вывод,
//Если в задании написано "двумерный массив" то с ним и надо работать, а у тебя этого нет.
Анатолий Шаталов
printf("%d", a); //Что ты хотел этим вывести?
Отобразить календарь в консоли)
Отобразить календарь в консоли)
Женя Казимирчик
printf("%d", a) - выведет содержимое переменной а
в Си работа с массивами идет через указатели, поэтому в а хранится адрес места, где лежат указатели на сами данные (т.к. у нас двумерный массив)
поэтому выводить надо поэлементно ( a[j] - один элемент)
в Си работа с массивами идет через указатели, поэтому в а хранится адрес места, где лежат указатели на сами данные (т.к. у нас двумерный массив)
поэтому выводить надо поэлементно ( a[j] - один элемент)
Похожие вопросы
- двумерный массив в СИ
- Помогите.Массивы.Язык Си.
- Необходимо упорядочить строки двумерного массива, по возрастанию первого эл-та. СИ.
- помогите срочно надо Квадратные массивы тема: Двумерные массивы на языке C++
- .помогите пожалуйста двумерный массив на языке c++
- помогите с программой!!! (Си) Двумерный массив+строки
- дан двумерный массив С(3,4).Получите новый массив А путём увеличения всех элементов исходного массива на число С.
- Как можно передать ДВУМЕРНЫЙ массив в функцию в С++, не создавая его, как глобальный. Пример ниже:
- Что такое Двумерный массив?
- Ассемблер двумерный массив
а строк сколько?