Visualizzazione dei risultati da 1 a 4 su 4

Discussione: aiuto matrici c++

  1. #1

    aiuto matrici c++

    codice:
    #include<iostream>
    #include<time.h>
    #include<stdlib.h>
    using namespace std;
    
    int main () {
    srand(time(NULL));
     char t[15][15];
     int i,j;
     char x='-';
     char a='A';
     char b='1';
     for(j=0;j<10;j++) {
      for (i=0;i<11;i++) {
       if(j==0&&i!=10) {
        t[i][j]=a; cout<<"  "<<t[i][j]; a++;
       }
       else if(j!=0&&i==0) {
         t[i][j]=b; cout<<t[i][j]; b++;}
       else if(j!=0){t[i][j]=x; cout<<" "<<t[i][j]<<" ";}
      }
    cout<<endl; }
    
     cout<<endl<<endl;
    
    
    int z=0,w=0;
     int orie=rand()%2;
     bool occ=false;
    
    if (orie==0) {
     while(z==0) z=rand()%8;
     while(w==0) w=rand()%10;
     for(i=z;i<z+4;i++) {t[i][w]='o';}  }
    else if(orie==1) {
     while(z==0) z=rand()%11;
     while(w==0) w=rand()%7;
     for(j=w;j<w+4;j++) {t[z][j]='o';}  }
    
    for (int k=0;k<2;k++) {
     do {
     orie=rand()%2;
     if(orie==0) {
       while(z==0) z=rand()%9;
       while(w==0) w=rand()%10;
       if(t[z][w]=='o' or t[z+1][w]=='o' or t[z+2][w]=='o') occ=true;
       else {t[z][w]='o';t[z+1][w]='o'; t[z+2][w]='o';}  }
     else if(orie==1) {
      while(z==0) z=rand()%11;
      while(w==0) w=rand()%8;
      if(t[z][w]=='o' or t[z][w+1]=='o' or t[z][w+2]=='o') occ=true;
      else{t[z][w];t[z][w+1]='o'; t[z][w+2]='o';}    }
     }
     while(occ==true);
     }
    
    
    for(j=0;j<10;j++) {
      for(i=0;i<11;i++){
        if(j==0) {
         cout<<"  "<<t[i][j]; }
        else if(j!=0&&i!=0) {cout<<" "<<t[i][j]<<" ";}
        else cout<<t[i][j];}
       cout<<endl;}
    }


    ho bisogno di aiuto con questo codice. il compilatore lo compila ma quando lo eseguo il programma si blocca dopo aver disegnato la prima matrice

  2. #2
    deve esserci un qualche problema nella generazione dei numeri random...

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Quote Originariamente inviata da aleee996 Visualizza il messaggio
    deve esserci un qualche problema nella generazione dei numeri random...
    Mah ... ho compilato e dopo la visualizzazione non succede nulla e il programma non termina.

    Non ho capito (anzi non hai detto) quale sia "lo scopo" del programma e cosa debba succedere quindi non so cosa dirti.

    Vedo però che il codice è "molto" confuso, indentato malissimo, con molte istruzioni nella stessa linea addirittura senza spazi che le separano ... impossibile da seguire senza perdere molto tempo.
    Ad esempio, una cosa di cui non ti sei accorto (proprio perché confuso nel codice) è questa istruzione

    t[z][w];

    ovviamente senza senso.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Mah ... ho compilato e dopo la visualizzazione non succede nulla e il programma non termina.

    Non ho capito ito ito (anzi non hai detto) quale sia "lo scopo" del programma e cosa debba succedere quindi non so cosa dirti.

    Vedo però che il codice è "molto" confuso, indentato malissimo, con molte istruzioni nella stessa linea addirittura senza spazi che le separano ... impossibile da seguire senza perdere molto tempo.
    Ad esempio, una cosa di culto non ti sei accorto (proprio perché confuso nel codice) è questa istruzione

    t[z][w];

    ovviamente senza senso.
    Ho appena iniziato a programmare e per cui non sono molto bravo ne tantomeno ho idea di come "indentare" un codice. Per quantoriguarda l istruzione mi sono dimenticato di assegnare il carattere 'o'. Comunque sbagliavo perché dopo aver assegnato a z e w un numero random (con un while che crea errori dato che poi l ho sostituito semplicemente aggiungendo +1 nel Rand) nel ciclo dopo non generava due numeri random nuovi e perciò rimaneva bloccato nel ciclo all infinito perché occ era sempre vero

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.