Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [C] invece di andare a capo mi fa dei quadratini.. che fare?

    salve ho creato un programma che dovrebbe creare tutte le possibili combinazioni (di 9 cifre) con finali BG l'unico problema e che quando scrive il file di testo non va a capo ma mi fa i quadratini.. come posso risolvere??

    #include <cstdlib>
    #include <iostream>
    #include <fstream.h>

    using namespace std;

    int main(int argc, char *argv[]) { ofstream out; char alfabeto[]={'A','B','C','D','E','F','G','H','I','J','K','L', 'M','N','O','P','Q','R','S','T','U','V','W','X','Y ','Z','a','b','c','d','e','f','g','h','i','j','k', 'l','m','n','o','p','q','r','s','t','u','v','w','x ','y','z','1','2','3','4','5','6','7','8','9','0', ',','.'}; char parola[12];
    out.open("alfabeto.txt", ios:ut);
    for(int c1=0;c1<64;c1++)
    {
    for(int c2=0;c2<64;c2++)
    {
    for(int c3=0;c3<64;c3++)
    {
    for(int c4=0;c4<64;c4++)
    {
    for(int c5=0;c5<64;c5++)
    {
    for(int c6=0;c6<64;c6++)
    {
    for(int c7=0;c7<64;c7++) { parola[0]=alfabeto[c1]; parola[1]=alfabeto[c2]; parola[2]=alfabeto[c3]; parola[3]=alfabeto[c4]; parola[4]=alfabeto[c5]; parola[5]=alfabeto[c6]; parola[6]=alfabeto[c7]; parola[7]='B'; parola[8]='G'; parola[9]='\r'; parola[10]='\n';

    out.write(parola, sizeof(parola));
    }
    }
    }
    }
    }
    }
    }
    out.close(); system("PAUSE"); return EXIT_SUCCESS; }
    con qualche modifica al codice ora sono arrivato a questo punto:


  2. #2
    Non mettere sia \n che \r, lascia solo \n, ci penserà lo stream (visto che hai aperto il file in modalità testo) ad aggiungere l'eventuale \r.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    scusate l'immagine che vedete appare con questo codice..

    codice:
    uguale...
    parola[0]=alfabeto[c1];
                                                             parola[1]=alfabeto[c2];
                                                             parola[2]=alfabeto[c3];
                                                             parola[3]=alfabeto[c4];
                                                             parola[4]=alfabeto[c5];
                                                             parola[5]=alfabeto[c6];
                                                             parola[6]=alfabeto[c7];
                                                             parola[7]='B';
                                                             parola[8]='G';
                                                             parola[9]='\n';
    non riesco a capire....

  4. #4
    codice:
    parola[10]=0;
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    In effetti, se non concludi la stringa con il nul, ti visualizza tutto quello che c'e' ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    il codice è questo...

    codice:
    #include <cstdlib>
    #include <iostream>
    #include <fstream.h>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        ofstream out;
        char alfabeto[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9','0',',','.'
        };
        char parola[12];
        out.open("alfabeto.txt", ios::out);
        for(int c1=0;c1<64;c1++)
        {
             for(int c2=0;c2<64;c2++)
             {
                     for(int c3=0;c3<64;c3++)
                     {
                             for(int c4=0;c4<64;c4++)
                             {
                                     for(int c5=0;c5<64;c5++)
                                     {
                                             for(int c6=0;c6<64;c6++)
                                             {
                                                     for(int c7=0;c7<64;c7++)
                                                     {
                                                              for(int c8=0;c8<64;c8++)
                                                               {
                                                             parola[0]=alfabeto[c1];
                                                             parola[1]=alfabeto[c2];
                                                             parola[2]=alfabeto[c3];
                                                             parola[3]=alfabeto[c4];
                                                             parola[4]=alfabeto[c5];
                                                             parola[5]=alfabeto[c6];
                                                             parola[6]=alfabeto[c7];
                                                             parola[7]=alfabeto[c8];
                                                             parola[8]='B';
                                                             parola[9]='G';
                                                            parola[10]='\n';
                                                             out.write(parola, sizeof(parola));
     }
     }
     }
     }
     }
     }
     }   
     }
        out.close();
        system("PAUSE");
        return EXIT_SUCCESS;
    }

    il risoltato è questo...

    codice:
    AAAAAAAABG
     AAAAABAABG
     AAAAACAABG
     AAAAADAABG
     AAAAAEAABG
     AAAAAFAABG
     AAAAAGAABG
     AAAAAHAABG
     AAAAAIAABG
     AAAAAJAABG
     AAAAAKAABG
     AAAAALAABG
     AAAAAMAABG
     AAAAANAABG
     AAAAAOAABG
     AAAAAPAABG
     AAAAAQAABG
     AAAAARAABG
     AAAAASAABG
     AAAAATAABG
     AAAAAUAABG
     AAAAAVAABG
     AAAAAWAABG
     AAAAAXAABG
     AAAAAYAABG
     AAAAAZAABG
     AAAAAaAABG
     AAAAAbAABG
     AAAAAcAABG
     AAAAAdAABG
     AAAAAeAABG
     AAAAAfAABG
     AAAAAgAABG
     AAAAAhAABG
     AAAAAiAABG
     AAAAAjAABG
     AAAAAkAABG
     AAAAAlAABG
     AAAAAmAABG
     AAAAAnAABG
     AAAAAoAABG
     AAAAApAABG
     AAAAAqAABG
     AAAAArAABG
     AAAAAsAABG
     AAAAAtAABG
     AAAAAuAABG
     AAAAAvAABG
     AAAAAwAABG
     AAAAAxAABG
     AAAAAyAABG
     AAAAAzAABG
     AAAAA1AABG
     AAAAA2AABG
     AAAAA3AABG
     AAAAA4AABG
     AAAAA5AABG
    devo sistemare, il primo spazio davanti ad ogni cosa...

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Scusa ... ma hai letto gli ultimi due post?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    21
    ora... potrei essere scemo io... ma perchè ogni ciclo lo chiudi a 63?

    A...Z = 26
    a...z = 26
    0...9 = 10

    sono 62 elementi quindi ogni ciclo ha l'indice <63 non <64...
    Everything happens for a reason...

  9. #9
    c'è anche il punto e la virgola se non sbaglio

    '7','8','9','0',',','.' };è così l'ultima parte...

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    21
    e a quel punto sarebbe <65 però... qualcosa non torna... :ignore:
    Everything happens for a reason...

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.