Написать цикл который будет заменять часть массива(который состоит из 0) на 1

Здравствуйте я столкнулся с небольшой проблемой. Нужно написать такой цикл, чтобы часть массива, который состоит из , заменялась на 1. К примеру, чтобы массив

000
000
000
000
000
000
000
000
000

стал таким -

111
111
111
000
000
000
000
000
000

Причем нужно чтобы общее число 1 в массиве равнялось n^2, а n - это число вводимое с клавиатуры. Надеюсь я смог нормально все объяснить. Буду очень благодарен за помощь.

Вот основная часть написанной мной программы, для которой и нужно написать цикл:

#include <stdio.h>
#include <stdlib.h>
int main()
{
  int n, num = 0, test = 0;
  printf("Vvedite znachenie n: ");
  scanf("%d", &n);
  num = n*n;

  int a[n][n][n], i = 0, j = 0, k = 0;
  for (i = 0; i < n; i++)
  {
    for (j = 0; j < n; j++)
    {
      for (k = 0; k < n; k++)
      {
        a[i][j][k] = 0;
      }
    }
  }
  //Тут нужно написать цикл
  for (i = 0; i < n; i++)
  {
    for (j = 0; j < n; j++)
    {
      for (k = 0; k < n; k++)
      {
        printf("%d\t", a[i][j][k]);
      }
      printf("\n");
    }
    printf("\n");
  }
}

Ответы (1 шт):

Автор решения: Павел Ериков

Вот пример кода с комментариями:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n ;
    printf("Vvedite znachenie n: ");
    scanf("%d", &n);
    int a[n][n][n];
    int i = 0; //высота
    int j = 0; //строка
    int k = 0; //столбец

    //Установим первую высоту (если в трехмерном рассматривать прсотранстве) как все единицы
    //как раз будет n^2 единиц
    for (j = 0; j < n; j++)
        for (k = 0; k < n; k++)
            a[0][j][k] = 1;

    //Остальное просто нулями
    for (i = 1; i < n; i++)
        for (j = 0; j < n; j++)
            for (k = 0; k < n; k++)
                a[i][j][k] = 0;

    //Вывод
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            for (k = 0; k < n; k++)
            {
                printf("%d\t", a[i][j][k]);
            }
            printf("\n");
        }
        printf("\n");
    }

    return 0;
}
→ Ссылка