Olá pessoal estou com dificuldades no meu código de como gerar duas ou mais matrizes na mesma linha, é um calendario e deve sair o formato como um calendario.  Por favor me ajudem  abaixo mando o código que está gerando o calendario de forma linear com algins erros.  #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<dos.h> #include<math.h>  #define M_LINHA 6 #define M_COLUNA 7   typedef  int vetor[42]; typedef char v_sem[6][8]; typedef int v_mes[M_LINHA][M_COLUNA];    int le_ano() {      int ano;            printf("INFORME UM ANO \t");       scanf("%d", &ano);           return(ano);     }  int le_mes() {      int mes;             printf("DIGITE UM MES QUALQUER\t\n\n");                     scanf("%d", &mes);            return (mes);  }                   int calcula_dia(int ano, int mes)   //esta funçao calcula o dia que começa a semana {    int a,y,m,     dia=1,d;     a = (14-mes)/12;     y = ano - a;     m = mes + 12*a - 2;       int kl = (1 + y + y/4 - (y/100) + (y/400) + ((31 * m)/12));            d = kl  % 7;              return(d);  }     //carrega o vetor para cabeçalho dos dias da semana. void semana(v_sem semana_1) {      strcpy(semana_1[0],"DOM");      strcpy(semana_1[1],"SEG");      strcpy(semana_1[2],"TER");      strcpy(semana_1[3],"QUA");      strcpy(semana_1[4],"QUI");      strcpy(semana_1[5],"SEX");      strcpy(semana_1[6],"SAB");        }                                                                                   //mostra a o cabeçalho dos dias semana  void mostra_semana(v_sem semana_1) {      int i;            for(i=0;i<7;i++)      {                                printf("%0.5s  ", semana_1);                }      printf("\n");       }                        //mostra o mes de 31 dias preenchendo a matriz com apenas 31 numeros   void mes_completo_31(v_mes mes_1)  {      int count,count_2,count_3,k;  //count - contador para linha, count_2 - contador para coluna, count_3 - contador para preencher a matriz                                      k=1;                                    // K recebera quant_dia para preencher a matriz.                    for(count=0;count<M_LINHA;count++)         {          for(count_2=0;count_2<M_COLUNA;count_2++)            {                 mes_1[count][count_2]=k;                                  k++;                  if (k==32) return;                                                                                }                                                                                                        }  }                             void completo(v_mes mes_1, int ano, int mes) {        int count,count_2,count_3,k=1,        inicio=calcula_dia(ano,mes),        COLUNA,        valor_coluna=-1,        valor_linha=0;                               //laço que imprime espaços em branco na tela conforme o valor calculado da função calcula_dia      while (inicio!=0){            inicio--;            printf("     ");            }            //for que controla as linhas da matriz do calendario       for(count=0;count<M_LINHA;count++)         {                                                   // verifica se é a primeira semana do calendario, se count é igual a zero então é a primeira semana                                         if (count == 0)               COLUNA  = M_COLUNA - calcula_dia(ano,mes);         else                COLUNA = M_COLUNA;          for(count_2=0; count_2< COLUNA; count_2++)            {       valor_coluna++;                                                     printf("%2d   ", mes_1[valor_linha][valor_coluna]);                                      k++;                    if (6==valor_coluna){                        valor_coluna=0;                        valor_linha++;                   }                        if (k==30) return;                      }            printf("\n\n");                    }            }                              //Esta função imprimi em arquivo .txt void imprimi_txt(v_mes mes_1, int ano, int mes,FILE *fp) {  int count,count_2,count_3,k=1,        inicio=calcula_dia(ano,mes),        COLUNA,        valor_coluna=-1,        valor_linha=0;          fp = fopen("calendario.txt","w");    // Verificando se houve erros na associação com o arquivo. 	if (fp==NULL) { 		// Interrompe programa. 		puts("não foi possivel abrir o arquivo solicitado.\n"); 		exit(EXIT_FAILURE); 	}                      //laço que imprime espaços em branco na tela conforme o valor calculado da função calcula_dia      while (inicio!=0){            inicio--;            printf("     ");            }            //for que controla as linhas da matriz do calendario       for(count=0;count<M_LINHA;count++)         {                                                   // verifica se é a primeira semana do calendario, se count é igual a zero então é a primeira semana                                         if (count == 0)               COLUNA  = M_COLUNA - calcula_dia(ano,mes);         else                COLUNA = M_COLUNA;          for(count_2=0; count_2< COLUNA; count_2++)            {       valor_coluna++;                                                      //fseek (fp,0,SEEK_END);                        fprintf(fp,"%d",&mes_1[valor_coluna][valor_linha]);                                     k++;                    if (6==valor_coluna){                        valor_coluna=0;                        valor_linha++;                   }                        if (k==30) return;                                 }            printf("\n\n");                    }           fclose(fp);                  }   // Esta função imprimi o calendario interio. void imprime_ano(int ano, v_sem semana_1, FILE *fp){      v_mes mes_1;      char nome_meses [12][12] ={"JANEIRO",  "FEVEREIRO" ,"MARCO" ,"ABRIL", "MAIO" ,"JUNHO", "JULHO", "AGOSTO" ,"SETEMBRO" ,"OUTUBRO", "NOVEMBRO", "DEZEMBRO"};      int mes;                                  for(mes=-1; mes<11; ++mes)      {          printf("\n\n\t%s\n\n", &nome_meses[mes][12]);                   mostra_semana(semana_1);                 mes_completo_31(mes_1);                 completo(mes_1, ano, mes+2);                 imprimi_txt( mes_1,ano,mes+2,fp);                 printf("\n\n\n\n");                }                            }  void mes(vetor vet) {      int count, count_2,k;        printf("\n");                     for(count=0;count<43;count++)           {                   vet[count]=k;                                            k++;                           }                       printf("\n");   }                       void mostra_mes(vetor vet) {      int count, count_2;              for(count=0;count<M_LINHA;count++)            printf("%d", vet[count]);                                               }                                                           main() {    v_sem semana_1;    v_mes mes_1;  //declaração de vetor    vetor vet;    int ano_1,mes;        FILE *fp;      //CHAMADA DE FUNÇÕES.      ano_1 = le_ano();   mes = le_mes();                calcula_dia(ano_1,mes);     printf("%d \n\n",calcula_dia(ano_1,mes));    semana(semana_1);    mostra_semana(semana_1);                   mes_completo_31(mes_1);    completo(mes_1,ano_1,mes);       printf("\n\n");    //mes(vet);    //mostra_mes(vet);      int ano45;    printf("digite um ano");    scanf("%d", &ano45);            imprime_ano(ano45,semana_1,fp);    imprimi_txt( mes_1,ano_1,mes,fp);    	                  system("pause"); }