codice:
#include <stdio.h>#include <stdlib.h>


#define dim 100


int inserisci(int []);
void visualizza(int [], int);
void bubblesort(int [], int);


int main(void){
	
	int n;
	int i;
	int vett[dim];
	int a;
	int scl;
	int ord;
	int elem;
	int num;
	
	do{
		printf("--------------------\n");
		printf("1)Inserisci l'array\n");
		printf("2)Modifica un elemento dell'array\n");
		printf("3)Ordina col metodo bubblesort\n");
		printf("4)Ricerca binaria di un elemento\n");
		printf("5)Visualizza L'array\n");
		printf("0)Esci\n");
		
		scanf("%d" ,&scl);
		
		if(scl < 0 || scl > 5)
			printf("hai inserito dei valori invalidi\n");
		
		switch(scl){
			case 1:
			
				n=inserisci(vett);
			
			break;
			
			case 2:
				
				do{
				
				visualizza(vett, n);
				
				printf("---------------------------------------------\n");
				printf("vuoi ordinare l'array in maniera crescente?\n");
				printf("1)si\n");
				printf("2)no,voglio modificare un elemento inserito\n");
				printf("3)torna al menù precedente \n");
				
				scanf("%d" ,&ord);
				
				if(ord <= 0 || ord > 3){
					printf("errore hai inserito dei valori invalidi\n");
				}
					
					switch(ord){
						
						case 1:
						
						bubblesort(vett, n);	
						
						break;
						
						case 2:
						
						printf("quale elemento vuoi modificare?\n");
						scanf("%d" ,&elem);
						
						printf("che valore vuoi inserire\n?");
						scanf("%d" ,&num);
						
						for(i=0; i<elem; i++){
							if(vett == elem)
							{
								*(vett)=elem;
							}
						}
					}
				}while(ord != 3);
				
				
			break;
			
			case 5:
			
				visualizza(vett, n);
			
			break;
		}
		
	}while(n != 0);	
}




int inserisci(int vett[])
{
	int i,n;
	
	printf("quanti elementi vuoi inserire?\n");
	scanf("%d" ,&n);
	
	if(n <= 0){
		printf("errore, hai inserito un valore nullo o inferiore a zero\n");
	  }
	  
	  if(n > dim){
		  printf("errore, hai superato il limite di oggetti da inserire: il massimo e' %d\n" ,dim);
	}
	else{
		for(i=0; i<n; i++){
			printf("inserisci l'elemento %d:\n" ,i+1);
			scanf("%d" ,&vett[i]);
		}
	}
	
	return n;
}


void visualizza(int vett[], int n)
{
	int i;
	
	for(i=0 ; i<n; i++){
		printf("Elemento:%d ---- Valore:%d\n" ,i+1, vett[i]);
	}
}


void bubblesort(int vett[], int n)
{
	int i, tmp, j;
	
	for(i=0; i<n; i++){
		for(j=0; j<n-i-1; j++){
			if(vett[j]>vett[j+1]){
				tmp=vett[j];
				vett[j]=vett[j+1];
				vett[j+1]=tmp;
			}
		}
	}
}
allora il problema (principale , so che ancora si deve aggiustare molto ) si trova esattamente in queste righe ( ho postato il codice completo per scrupolo

codice:
	case 2:						
						printf("quale elemento vuoi modificare?\n");
						scanf("%d" ,&elem);
						
						printf("che valore vuoi inserire\n?");
						scanf("%d" ,&num);
						
						for(i=0; i<elem; i++){
							if(vett == elem)
							{
								*(vett)=elem;
							}
						}
					}
La mia intenzione era quella di poter modificare l'elemento x dell'array, di un array di cui si può decidere la grandezza, ma con un massimo di x spazi.

per essere più chiari:

-----------------------------------------------------

Dico che voglio inserire 30 valori

poi li ordino

se io volessi cambiare solo il 29esimo elemento che dovrei fare ?

Anzi cosa sbaglio ?

---------------------------------------------------
per ora posso utilizzare solo pointer array, e tutti i cicli ( while, for, do etc. ) non posso usare le struct o le liste.

qualcuno potrebbe spiegarmi dove sbaglio ?