Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    3

    C unire array...

    Ciao volevo sapere come si fa a collegare 2 array, senza che l'indice riparta da 0 ma continui a contare...
    ho questi 2 array
    char nomi [][24]={"sara","luca","sergio","elena","marco"};
    float numeri[]={ 1,2,3,4,5,6,10,12,15,18,19,20,7,9,16};
    è necessario che continui a contare quindi che a i =5(che sarebbe l'indice che scorre il vettore) corrisponda 1 del vettore numeri e cosi via...come si fa???
    non so proprio come fare...
    perchè l'indice è un numero generato casualmente da 1 a 20 e ciascun numero puo essere preso una sola volta...quindi vorrei fare se i=5 la stampa k mi scrive il numero 1 del vettore numeri, i=6 secondo ect...se i=0 il primo nome, se i=1 il secondo e cosi via....
    GRAZIE IN ANTICIPOOOO

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,262
    Benvenuta ... il quesito che hai posto non è molto chiaro ... magari dovresti spiegarlo un po' meglio ... considera che tu sai il tipo di problema che stai affrontando, chi ti legge no.

    P.S. Leggi il regolamento prima di postare ... il titolo del thread non va bene ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Se ho ben capito, devi usare applicare l'operatore modulo al contatore quando accedi al primo array.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    3
    codice:
    srand(time(NULL));
        /*Inizializzo l'array per la ricerca casuale*/
        for (j=0; j<20; j++)
            premi[j]=j;//inizia da 0//
    
        /*Cerco elemento casuale tra lim valori di premi */
        lim=20;//variabile a cui viene assegnato il valore 20, è utile perchè questa variabile decrementa a ogni ciclo//
        for(i=0;i<20;i++)
           {
                k=rand()%lim;//scelgo il numero del premio in maniera casuale//
                estratto=premi[k];
                printf("\tIl numero del  premio e' %d \n", premi[k]);
              {
        
                if (estratto<20*1/4)
            
                printf("stampiamo il nome: %s, nomi[estratto]);       
           
                else
            
                printf("stampiamo il numero: %.2f, pacco numero %d\n", numeri[estratto]);
            
        }
    
                premi[k]=premi[lim-1];//sposto ultimo elemento al posto di quello appena estratto //
                lim--; //ignoro ultimo elemento per la prossima estrazione //
        }
    }
    non so se ora è pi chiaro quello che devo fare!!!cosi non funziona...perchè se i=5 nn mi stampa il primo numero ma il numero che si trova nella quinta posizione dell'array numeri...

  5. #5
    Mancano tutte le dichiarazioni delle variabili... senza non ti si può dire molto.
    P.S.: usa il tag [code] ... [/code] quando inserisci del codice in un post, altrimenti perde l'indentazione e diventa illeggibile.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    3
    le dichiarazioni sono queste
    codice:
    char nomi [][24]={"sara","luca","sergio","elena","marco"};
    float numeri[]={ 1,2,3,4,5,6,10,12,15,18,19,20,7,9,16};
    int lim,estratto;
    int premi[20];//memmorizza i numeri estratti
    int i,j;
    non trovo il tag code...

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,097

    Moderazione

    Ti è stato chiesto di leggere il regolamento interno. Lo hai fatto? No, perchè al punto 6 c'è indicato esattamente come inserire il tag CODE (che tu non trovi) quando si posta del codice.

    Ti fornisco il link diretto (seconda discussione in rilievo): http://forum.html.it/forum/showthrea...hreadid=973887

    Leggilo per bene, per il futuro.

    Qui sistemo io.


    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

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 © 2019 vBulletin Solutions, Inc. All rights reserved.