Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: [C] array di char !?!?

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    19

    [C] array di char !?!?

    mi sto cimentando con il mio primo programma in C.
    vorrei creare una matrice 3x3 di char da 1 carattere.
    nel primo ciclo li inizializzo tutti a 'X', nel secondo li metto a video.

    1) dove sbaglio ?
    2) come si fa a indentare il codice quando posto il messaggio nel forum ?
    3) il doppio cilclo di for i,j si puo' fare in un colpo unico in C ?

    grazie infinite a chi mi puo' dare una mano !

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>

    char tris [3] [3];

    int main()
    {
    int i, j, scelta;
    for (i=0 ; i<3 ; i++)
    {
    for (j=0 ; j<3 ; j++)
    {
    tris [i] [j] = 'X';
    }
    }

    system("cls");

    for (i=0 ; i<3 ; i++)
    {
    printf (" %s | %s | %s \n", tris[i, 1], tris[i, 2], tris[i, 3]);
    printf ("---+---+---\n");
    }
    system("pause");

    return 0;

    }
    il risultato a video e' questo :
    XXXXXX | XXX |
    ---+---+---
    XXXXXX | XXX |
    ---+---+---
    XXXXXX | XXX |
    ---+---+---

  2. #2
    1) Così ad occhio direi che devi correggere questa riga:
    codice:
    tris[i, 0], tris[i, 1], tris[i, 2]
    2) Usando il tag [code]...[/code]
    3) No.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di sotoli
    Registrato dal
    Mar 2008
    Messaggi
    150
    Inoltre quando devi stampare a video dei caratteri con la funzione printf, devi usare %c e non %s.
    Poi, per selezionare il carettere j-esimo della riga i-esima dovresti scrivere tris[i][j].
    Crestron Control Systems and AMX Control Systems Programmer

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    19
    grazie Mitaly, quello era sicuramente un'errore ma nn funge ancora
    ora il risultato è questo :

    XXXXXXXXX | XXXXXX | XXX
    ---+---+---
    XXXXXXXXX | XXXXXX | XXX
    ---+---+---
    XXXXXXXXX | XXXXXX | XXX
    ---+---+---
    Premere un tasto per continuare . . .

    ri-posto codice indentato.

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    char tris [3] [3];
    
    int main()
    { 
    int i, j, scelta;
    
      for (i=0 ; i<3 ; i++)
      { 
          for (j=0 ; j<3 ; j++)
          { 
              tris [i] [j] = 'X';
          }
      }
        
      system("cls");
      
      for (i=0 ; i<3 ; i++)
      {
          printf (" %s | %s | %s \n", tris[i, 0], tris[i, 1], tris[i, 2]);
          printf ("---+---+---\n");
      }
      system("pause");
      
      return 0;
    
    } //

  5. #5
    codice:
          printf (" %c | %c | %c \n", tris[i, 0], tris[i, 1], tris[i, 2]);
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ti avevano gia' detto di correggere la linea del printf ...

    codice:
    printf (" %c | %c | %c \n", tris[i][0], tris[i][1], tris[i][2]);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    19
    grazie sotoli, con la tua modifica ora mi scrive :

    ► | ‼ | ▬
    ---+---+---
    ► | ‼ | ▬
    ---+---+---
    ► | ‼ | ▬
    ---+---+---
    Premere un tasto per continuare . . .

    :quote: :quote: :quote:

    invece delle 'X' che ho inserito io mi trovo questi caratteri strani ... sembra che punti ad un indirizzo diverso da quello dove ci sono i valori dell'array ...
    Sto imparando il C solo su guida online (html.it)

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Leggi la mia ultima risposta ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    19
    grande oregon !


    ho anche aggiunto una firma al mio profilo, che ve ne pare ?
    Sto imparando il C solo su guida online (html.it)

  10. #10
    Niente male, ma hai collaudato la mia?
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.