Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Inserimento in array ordinato in c

    Salve sto facendo un esercizio per l'universita in cui mi viene chiesto di inserire un valore in un array ordianto, traslando gli elementi successivi al valore, metto qui sotto il codice mi potete dire dove sbaglio?

    HOME.C :

    codice:
    #include <stdio.h>
    #include "insert.h"
    
    void main(){
        
        int v[DIMARRAY]={0,1,2,3,4};
        int n=5;
        int newItem=0;
        boolean result;
    
    printf("\n\n ------------------------------------------- \n\n");
        
        printf("\n\n\n ESERCIZIO 1: \n\n\n");
    
    printf(" \n\n  INSERISCI L'ELEMENTO CHE VUOI METTERE NELL'ARRAY  \n\n");
        scanf("%d",&newItem);
    
        result=insert(v,newItem,DIMARRAY,&n);
    
        if(result==TRUE){
    
            stampa(v);
    
        }
    
        else{
    
            printf("\n\n IMPOSSIBILE INSERIRE IL VALORE \n\n");
    
        }
    
    }

    INSERT.H :

    codice:
    #define DIMARRAY 8
    typedef enum{FALSE,TRUE} boolean;
    
    boolean insert(int[], int, int, int *);
    void stampa(int []);

    INSERT.C:

    codice:
    #include <stdio.h>
    #include "insert.h"
    
    void stampa(int v[]){
    
        int i;
    
        for(i=0; i<DIMARRAY; i++){
    
            printf("Il valore %d e' %d",i,v[i]);
    
        }
    }
    
    boolean insert(int v[], int newItem, int DIM, int *N){
    
        boolean result=FALSE;
        int i=0,j=0,x=0,tmp=0;
    
        printf("SONO QUI 1");
    
    
        do{
            
            printf("SONO QUI 2");
    
    if(v[i]<=newItem){
    
                for(j=DIM; j<=0; j--){
    
    
                    //printf("SONO QUI 3");
                    tmp=v[j];
                    v[j]=v[j-1];
                    v[j]=tmp;
    
    }
                
                result==TRUE;
            }
    
            i++;
    
        }while(i<*N);
    
            return result;
    }
    Ultima modifica di LeleFT; 12-03-2015 a 13:50 Motivo: Aggiunti i tag CODE
    http://viewsoftware.it/

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Sicuramente qui ci sono 2 errori
    codice:
    for(j=DIM; j<=0; j--){
    
    
     //printf("SONO QUI 3");
     tmp=v[j];
     v[j]=v[j-1];
     v[j]=tmp;
    
    
     }
    il resto non l'ho letto: usa i Tag code.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Code has no effect in function insert

    codice:
               ...
                result==TRUE;
               ...
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

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