Programma in linguaggio c

di il
7 risposte

Programma in linguaggio c

Il problema da svolgere è: Scrivi un programma che legga in input un vettore di N interi, con N<=100, ed elimini dal vettore tutti i numeri ripetuti.

Ho cominciato a svolgere il problema però non riesco a capire come eliminare dal vettore tutti i numeri ripetuti. Potreste darmi una mano?

Io l ho iniziato così:
#include <stdio.h>
#include <stdlib.h>
main(){
int v[100], i, c, n;
for(i=0; i<100; i++){
scanf("%d", &n);
if(n<0)
break;
v=n;
if(i>0){
for(c=0; c<i; c++){
if(v[c]==n){
printf("\ndoppione\n");


Adesso come elimino i numeri ripetuti nel vettore?

7 Risposte

  • Re: Programma in linguaggio c

    Comincia con il postare il tuo codice e descrivi quello che hai provato a fare fino ad ora, poi vediamo di darti una mano....
  • Re: Programma in linguaggio c

    Per eliminare l'elemento i-esimo di un vettore di dimensione n un metodo è quello di sovrascivere l'elemento i-esimo con l'elemento successivo (i+1)-esimo fino a sovrascrivere l'elemento (n-2)-esimo con l'elemento (n-1)-esimo, e diminuire quindi di 1 n.
    Se v è il vettore in codice risulterebbe
    
    
    int k;
    for ( k = i; k < n - 1; ++k ) {
    	v[i] = v[i + 1];
    } 
    --n;
    
    
  • Re: Programma in linguaggio c

    sebaldar ha scritto:


    Per eliminare l'elemento i-esimo di un vettore di dimensione n un metodo è quello di sovrascivere l'elemento i-esimo con l'elemento successivo (i+1)-esimo fino a sovrascrivere l'elemento (n-2)-esimo con l'elemento (n-1)-esimo, e diminuire quindi di 1 n.
    Se v è il vettore in codice risulterebbe
    
    
    int k;
    for ( k = i; k < n - 1; ++k ) {
    	v[i] = v[i + 1];
    } 
    --n;
    
    
    Il tuo ciclo "lavora" su k non su i....
    
    
    int k;
    for ( k = i; k < n - 1; ++k ) {
    	v[k] = v[k + 1];
    } 
    --n;
    
    
  • Re: Programma in linguaggio c

    Nessuno è perfetto
  • Re: Programma in linguaggio c

    sebaldar ha scritto:


    Nessuno è perfetto
    Grazie

    Firmato
    Nessuno

  • Re: Programma in linguaggio c

    Considera inoltre che la perfezione attira l'occhio del diavolo
  • Re: Programma in linguaggio c

    Io non riesco comunque ad andare avanti sono bloccata a quando mi esce scritto che è presente un numero più volte
Devi accedere o registrarti per scrivere nel forum
7 risposte