Stampa dei numeri duplicati in c

di il
15 risposte

Stampa dei numeri duplicati in c

Salve, sto cercando di creare un programma che:
una volta letti N numeri, vengono inseriti in un vettore e poi si deve individuare gli elementi duplicati visualizzandoli sullo schermo
#include<stdio.h>
#include<stdlib.h>

int main(){
	int *a, n, i, cost=0, j;
	
	printf("Quantita' di numeri che vuoi inserire nel vettore: ");
	scanf("%d", &n);
	
	printf("\nInserisci i numeri:\n");
	a=malloc(n * (sizeof (int)));
	for(i=0;i<n;i++){
		scanf("%d", &a[i]);
	}
	
	printf("\n\nI numeri sono:\n");
	for(i=0;i<n;i++){
		printf("\n");
		printf("%d", a[i]);   
	}
	
	
	for(i=0;i<n;i++){
		for(j=0;j<n;j++){
			if(a[i]==a[j]) {
                		cost++;
                		printf("\nElemento uguale trovato: %d", a[i]);
            		}
		}
	}

	if(cost==0)
        printf("\nNon ci sono uguali");
    else
        printf("\nCi sono %d elementi uguali", cost);
}
ho scritto questo e non va. Il problema è praticamente sicuro sia nel doppio ciclo. Qualche suggerimento?

15 Risposte

  • Re: Stampa dei numeri duplicati in c

    Cosa non va? Spiega il problema e partendo da questo si trova la soluzione.
    Se vuoi fare informatica non ti puoi fermare alla prima banalità... non ci sarà sempre il forum
  • Re: Stampa dei numeri duplicati in c

    oregon ha scritto:


    Cosa non va? Spiega il problema e partendo da questo si trova la soluzione.
    Se vuoi fare informatica non ti puoi fermare alla prima banalità... non ci sarà sempre il forum
    probabilmente il problema è che non so come controllare uno per uno i numeri all'interno dell'array :(
  • Re: Stampa dei numeri duplicati in c

    Forse volevi scrivere
    
    	for(i=0;i<n;i++){
    		for(j=0;j<i;j++){
    
    Usa il debugger e procedi passo per passo, così ti accorgi subito di quello che sta succedendo
  • Re: Stampa dei numeri duplicati in c

    Weierstrass ha scritto:


    Forse volevi scrivere
    
    	for(i=0;i<n;i++){
    		for(j=0;j<i;j++){
    
    Usa il debugger e procedi passo per passo, così ti accorgi subito di quello che sta succedendo
    ah oddio, grazie mille, pensavo andasse bene con j<n. Ora funziona perfettamente, grazie :)
  • Re: Stampa dei numeri duplicati in c

    Bug_Digitale ha scritto:


    oregon ha scritto:


    Cosa non va? Spiega il problema e partendo da questo si trova la soluzione.
    Se vuoi fare informatica non ti puoi fermare alla prima banalità... non ci sarà sempre il forum
    probabilmente il problema è che non so come controllare uno per uno i numeri all'interno dell'array
    Usa un debugger o delle semplici printf, no?
  • Re: Stampa dei numeri duplicati in c

    oregon ha scritto:


    Bug_Digitale ha scritto:


    oregon ha scritto:


    Cosa non va? Spiega il problema e partendo da questo si trova la soluzione.
    Se vuoi fare informatica non ti puoi fermare alla prima banalità... non ci sarà sempre il forum
    probabilmente il problema è che non so come controllare uno per uno i numeri all'interno dell'array :(
    Usa un debugger o delle semplici printf, no?
    il debugger non so perché ma non mi funziona :(
  • Re: Stampa dei numeri duplicati in c

    E' normale che non funzionino le cose per un programmatore. Devi farle funzionare
    https://www.onlinegdb.com/online_c_compile
    Metti il codice. Se clicchi appena a sinistra dei numeri di riga compaiono i pallini rossi: quelli sono i breakpoint.
    Clicca su "debug" e poi "start": appena arrivi sul pallino rosso il programma si blocca - per proseguire passo per passo clicchi "step over" ("step into" ti fa entrare dentro le funzioni che chiami nella riga, "continue" fa ripartire il programma)
  • Re: Stampa dei numeri duplicati in c

    Weierstrass ha scritto:


    E' normale che non funzionino le cose per un programmatore. Devi farle funzionare
    https://www.onlinegdb.com/online_c_compile
    Metti il codice. Se clicchi appena a sinistra dei numeri di riga compaiono i pallini rossi: quelli sono i breakpoint.
    Clicca su "debug" e poi "start": appena arrivi sul pallino rosso il programma si blocca - per proseguire passo per passo clicchi "step over" ("step into" ti fa entrare dentro le funzioni che chiami nella riga, "continue" fa ripartire il programma)
    vabene, grazie mille :)
  • Re: Stampa dei numeri duplicati in c

    Sicuro che fai informatica all'università?
  • Re: Stampa dei numeri duplicati in c

    oregon ha scritto:


    Sicuro che fai informatica all'università?
    perché?
  • Re: Stampa dei numeri duplicati in c

    Mi sembrano esercizi veramente banali e non sembra che tu sia molto interessato a provare di sbatterci la testa per risorverli
  • Re: Stampa dei numeri duplicati in c

    oregon ha scritto:


    Mi sembrano esercizi veramente banali e non sembra che tu sia molto interessato a provare di sbatterci la testa per risorverli
    hai ragione, sono esercizi banali, ma io ora sto cominciando a prendere più seriamente la programmazione, sto cercando di imparare e devo farlo il prima possibile il meglio possibile :). Non faccio 1 o 2 esercizi al giorno, semplicemente quando sono sicuro di non saper come fare qualcosa o ci ragiono per tanto senza trovare una soluzione, invece di andare a caso, cerco una soluzione per capire come fare. Alla fin fine programmazione è anche gioco di squadra no? soprattutto agli inizi non ci trovo nulla di male nel chiedere un aiuto. Sfortunatamente non ho molte persone fisiche con cui confrontarmi, ma e per questo che esistono dei forum no?
    Sinceramente mi da un po' fastidio il tuo modo di giudicare qualcuno che non conosci, semplicemente se vuoi darmi una mano, ne sono felice :), se pensi che io non meriti una tua mano non fa nulla, non cambierà nè la mia nè la tua vita :)
  • Re: Stampa dei numeri duplicati in c

    Risposta prevedibile ma assolutamente fuori luogo.

    "Per questo esistono i forum" "mi dai fastidio" "non giudicare" "se non vuoi rispondere non farlo"... ma che risposte sono?

    Quello che ti ho solo "consigliato" è di riflettere un po' di più adesso su questi esercizi perché ti aiuterà tantissimo quando verranno le cose veramente complesse in informatica.

    Ma pensala come vuoi.

    P.S. Se ti suggeriscono di usare il debugger, fallo, altrimenti perché scrivi nel forum per avere consigli? Non funziona il debugger? Fermati a capire perché e rimedia.
  • Re: Stampa dei numeri duplicati in c

    oregon ha scritto:


    Risposta prevedibile ma assolutamente fuori luogo.

    "Per questo esistono i forum" "mi dai fastidio" "non giudicare" "se non vuoi rispondere non farlo"... ma che risposte sono?

    Quello che ti ho solo "consigliato" è di riflettere un po' di più adesso su questi esercizi perché ti aiuterà tantissimo quando verranno le cose veramente complesse in informatica.

    Ma pensala come vuoi.

    P.S. Se ti suggeriscono di usare il debugger, fallo, altrimenti perché scrivi nel forum per avere consigli? Non funziona il debugger? Fermati a capire perché e rimedia.
    si vabene dai, grazie per i consigli
Devi accedere o registrarti per scrivere nel forum
15 risposte