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;
}