2010-04-30 18 views
10

Come si stampa un array 2D in c utilizzando scanf per l'input dell'utente, array chiamato grid [] [] e un ciclo for?Stampa di un array 2D in C

dire se l'utente digita in 3 5, l'uscita sarà:

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

Ecco il codice che ho scritto finora (newbie qui):

#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 


} 

Questo è solo una piccola parte dell'intera fase del mio compito:

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 ioni accettati e devono essere incluse nel codice: funzioni di stringa - STRLEN(), strcpy(), strcat(), strchr(), strcmp(), strstr()

devono usare matrice 2d

devono usare libri per parole. Out Out deve corrispondere al formato esatto.

+2

Questi compiti sono dovuti domani? –

+1

Hai codice che hai scritto ma non funziona? Per favore mostraci cosa hai tentato in modo che possiamo vedere dove sei bloccato. –

+0

no, la prossima settimana ... haha ​​ –

risposta

10

È questo un aiuto?

#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ì, hai praticamente colpito il chiodo sulla testa. Grazie! Tempo per quella temuta lista di parole ... –

+1

@ wello horld, prova i piccoli esercizi del tuo libro di testo o trova un tutorial per principianti assoluto online e fai quegli esercizi. È anche il modo migliore di imparare. Suggerimento aggiuntivo, Google è tuo amico! Ad esempio una buona pagina per Fgets con un esempio di codice: http: //www.cplusplus.com/riferimento/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"); 
} 
... 

visto che < ...> sarebbe d, e, f, s, c ... ecc tipo di dato ... X)

0

prima cosa è necessario inserire i due numeri dicono numero_colonne e num_columns forse usa argc e argv quindi fa un ciclo for per stampare i punti.

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

si dovrebbe sostituire il punto con qualcos'altro in seguito.

+0

Le due risposte fornite sono grandiose, ma non usano la griglia di array 2d ...? –

+0

OP ha menzionato che l'input è fatto con scanf – NomeN

+0

E tuttavia, mostrano come configurare cicli annidati che avresti bisogno di passare attraverso la griglia. Non possiamo, in buona coscienza, darvi la risposta direttamente. –