Algoritmo numeri doppi

di il
4 risposte

Algoritmo numeri doppi

Salve, devo creare un algoritmo che preso un array A crei un altro array B che contenga i valori (in ordine crescente) che vanno dal valore minimo dell'array A a "ValoreMinimo+DiminsioneDell'Array-1", in seguito deve controllare l'array A e controllare se vi sono numeri che si ripetono due volte e nel caso sostituire alla seconda occorrenza del numero un valore dall'array B che non sia presente nell'array A.
Questo è il testo fornito dal professore: "sostituisci i numeri doppi eventualmente presenti con i numeri mancanti mantenendo
l’ordinamento a partire da MINB fino a inserire (MINB + DIMB-1)"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int minimo(int cinzia[]){
    int i;
    int min = cinzia[0];
    for ( i = 0; i < 9 ; ++i) {
        if (cinzia[i]<min){
            min = cinzia[i];
        }
    }
    return min;
}
void scambio(int cinzia[], int bello[]){
    int biancaneve[9], i, j;
    for (int i = 0; i < 9; ++i) {
        biancaneve[i]=cinzia[i];
    }

}
int main() {
    int cinzia[]={7,6,7,2,3,3,5,6,1};
    int min, max, i;
    min = minimo(cinzia);
    max = min+9-1;
    int bello[max];
    for (int i = 0; i < max ; ++i) {
        bello[i]=i;
    }







    return 0;
}
Questo è il codice che fino ad ora ho fatto, mi sono bloccato sul trovare i numeri doppi poiché si deve controllare ogni numero dell'array con tutti gli altri (tranne se stesso) e non so come farlo, vi sarei grato se riuscite a farmi capire.

4 Risposte

  • Re: Algoritmo numeri doppi

    Ma A deve essere ordinato in partenza? Comunque la funzione scambio non scambia niente.
  • Re: Algoritmo numeri doppi

    Alexv ha scritto:


    Ma A deve essere ordinato in partenza? Comunque la funzione scambio non scambia niente.
    No non deve essere ordinato si deve solamente trovare il valore minimo e poi i valori doppi, la procedura scambio non fa nulla perché non sono riuscito a contiuarla
  • Re: Algoritmo numeri doppi

    Comunque non ti serve lo scambio quindi eliminala.
  • Re: Algoritmo numeri doppi

    oregon ha scritto:


    Comunque non ti serve lo scambio quindi eliminala.
    Va bene le avevo dato un nome casuale e poi non sono riuscito a continuare. Comunque mi sono un po' sbloccato ed ho pensato che per trovare i numeri doppi mi basta ordinare l'array in modo che siano consecutivi (così li posso trovare con un semplice for) ora il problema e come riuscire a trovare un valore dall'array B che sia diverso da tutti i valori dell'array A
Devi accedere o registrarti per scrivere nel forum
4 risposte