Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    64

    JAVA for annidati

    Ciao ha tutti volevo sapere se qualcuno mi può dare una mano o un suggerimento su come creare dinamicamente n for annidati senza dover
    scrivere...

    int [] vett = new int[cont+1];

    for (n1=0;n1<3;n1++){

    vett[0]=n1;

    for (n2=0;n2<3;n2++){

    vett[1]=n2;


    for (n3=0;n3<3;n3++){

    vett[2]=n3;
    for(h=0;h<=vett.length-1;h++){
    str=str+""+vett[h]+";";

    }
    }
    }
    Il risultato dovrebbe essere così....
    0;0;0;
    0;0;1;
    0;0;2;
    0;1;0;
    0;1;1;
    0;1;2;
    0;2;0;
    0;2;1;
    0;2;2;
    1;0;0;
    1;0;1;
    1;0;2;
    ecc ecc fino a 2;2;2;

    se avessi 4 for annidati avrei 4 colonne di questo tipo fino a 2;2;2;2;

    Ma come posso ottenere un risultato di questo tipo in modo dinamico specificando solo il numero delle colonne che voglio ottenere senza aggiungere a mano del codice e dovendo ricompilare????

    ...con 6 colonne per esempio dovrei ottenere....

    0;0;0;0;0;0;
    0;0;0;0;0;1;
    0;0;0;0;0;2;
    ...........
    fino a 2;2;2;2;2;2

  2. #2
    Usa una funzione che contiene solo un for e come parametri gli passi l'indice e le informazioni che ti servono.
    Questa funzione la chiami tante volte ti serve un for.

    cioè:

    for(int i=0; ......)
    {
    miafunzione(i,...)// quella che contiene il for
    }
    ..........
    ......
    mia funzione(int i....)
    {
    for(int j=i....)
    {
    .....
    }
    }

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Devi utilizzare la ricorsione. Quando hai dei cicli annidati un numero variabile di volte, ne esci solo progettando la cosa con una ricorsione.
    La soluzione proposta da evilsaint non funziona: in quel modo non si nidificano i cicli for, ma si sequenzializzano.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    64

    risolto

    Si ci avevo pensato anch'io ma non riuscivo ad avere indetro i valori che mi servivano che venivano puntualmente sovrascritti a ogni "return" cmq sono riuscito a trovare un modo alternativo ai cicli for per risolvere il mio prob quindi tutto bene...grazie a tutti cmq...

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.