2010-04-30 19 views
10

¿cómo imprimiría una matriz 2d en c usando scanf para la entrada del usuario, una matriz llamada grid [] [] y un bucle for?Imprimir una matriz 2D en C

decir, si el usuario escribe en 3 5, la salida será:

..... 
..... 
..... 

Este es el código que he escrito hasta ahora (novato aquí):

#include <stdio.h> 

#define MAX 10 

int main() 
{ 
    int grid[MAX][MAX]; 
    int row, col; 
    int i,j; 

    printf("Please enter your grid size: "); 
    scanf("%d %d", &row, &col); 

    for (i=0; i<MAX; i++) 
     for //i gave up here 


} 

Este es solo una pequeña parte de toda la etapa de mi tarea:

Enter number of rows and columns followed by list of words (hit enter twice to end list): 10 15 
quick 
brown 
fox 
jumped 
over 
lazy 
dog 

00 . . . . . . . . . . . . . . . 
01 . . . . . . . . . . . . . . . 
02 . . . . . . . . . . . . . . . 
03 . . . . . . . . . . . . . . . 
04 . . . . . . . . . . . . . . . 
05 . . . . . . . . . . . . . . . 
06 . . . . . . . . . . . . . . . 
07 . . . . . . . . . . . . . . . 
08 . . . . . . . . . . . . . . . 
09 . . . . . . . . . . . . . . . 
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 
    0. quick 
    1. brown 
    2. fox 
    3. jumped 
    4. over 
    5. lazy 
    6. dog 

funct iones permitidos y deben ser incluidas en el código: funciones de cadena - strlen(), strcpy(), strcat(), strchr(), strcmp(), strstr()

debe utilizar matriz 2D

debe utilizar fgets para las palabras. La salida debe coincidir con el formato exacto.

+2

¿Es esta tarea para mañana? –

+1

¿Tiene un código que ha escrito pero que no funciona? Por favor, muéstranos lo que has intentado para que podamos ver dónde estás atrapado. –

+0

no, la próxima semana ... haha ​​ –

Respuesta

10

¿Es esto alguna ayuda?

#include <stdio.h> 

#define MAX 10 

int main() 
{ 
    char grid[MAX][MAX]; 
    int i,j,row,col; 

    printf("Please enter your grid size: "); 
    scanf("%d %d", &row, &col); 


    for (i = 0; i < row; i++) { 
     for (j = 0; j < col; j++) { 
      grid[i][j] = '.'; 
      printf("%c ", grid[i][j]); 
     } 
     printf("\n"); 
    } 

    return 0; 
} 
+0

Sí, casi le pegaste al clavo en la cabeza. ¡Gracias! Tiempo para esa temida lista de palabras ... –

+1

@wello horld, prueba los pequeños ejercicios de tu libro de texto o encuentra un tutorial para principiantes en línea y haz esos ejercicios. Esa es la mejor forma de aprender también. Consejo adicional, google es tu amigo! Por ejemplo, una buena página para fgets con una muestra de código: http: //www.cplusplus.com/reference/clibrary/cstdio/fgets / – NomeN

-1
... 
for(int i=0;i<3;i++){ //Rows 
for(int j=0;j<5;j++){ //Cols 
printf("%<...>\t",var); 
} 
printf("\n"); 
} 
... 

teniendo en cuenta que < ...> serían d, e, f, s, c ... etc ... tipo de datos X)

0

primer lugar es necesario introducir los dos números dicen num_rows y num_columns quizás usando argc y argv luego hacen un ciclo for para imprimir los puntos.

int j=0; 
int k=0; 
for (k=0;k<num_columns;k++){ 
    for (j=0;j<num_rows;j++){ 
     printf("."); 
    } 
printf("\n"); 
} 

tendría que reemplazar el punto con algo más posterior.

+0

Las dos respuestas dadas son geniales, pero no usan la cuadrícula 2d ...? –

+0

OP mencionó que la entrada se realiza con scanf – NomeN

+0

Y, sin embargo, muestran cómo configurar bucles anidados que necesitaría pasar por la cuadrícula. No podemos, en buena conciencia, darle la respuesta directamente. –

Cuestiones relacionadas