Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    29

    [C]Codice non funzionante

    codice:
    /*Scrivere un programma che fornisca le seguenti funzionalità.
    popolamento array: 
    l'utente inserisce 10 numeri interi che verranno salvati in un array;
    visualizzazione arary: il programma stampa i 10 elementi dell'array ricerca: l'utente inserisce un numero a da cercare. 
    Il programma restituirà la posizione di a all'interno  inserito dell'array. -1 se a non è presente nell'array
       Definite una funzione per ciascuna funzionalità; 
       Dichiarate l'array con la solita forma a parentesi quadre (int array[10]) ma nelle funzioni usate un puntatore.
       Esempio
          ...
       int stampa(int *arr);
       ...
       int main(){
       ...
       int array[10];
       int *array_ptr=array;
       ...
       stampa(array_ptr); */
      
    #include<stdio.h>
    
    
    int popola (severus){
    int x;
    int val;
    int *pos;
    *pos=x;
    
    
    printf("popola array /n");
    for(x=0; x<9; x++){
    printf("inserisci posizione /t");
    scanf("%d",&x);
    printf("inserisci valore /t");
    scanf("%d",&val);
    severus[pos]=val;
    }
    }
    
    
    int stampa (severus){
    int x;
    for (x=0; x<9; x++){
    printf("posizione %d : %d " ,x, severus[x]);
    printf("/t"); 
    }
    }
    
    
    
    
    int cerca (severus){
    int x;
    int number;
    int uscita;
    printf("inserisci numero da cercare /t");
    scanf("%d",&number);
    for(x=0; uscita==0; x++){
    if (severus[x]=number) {
    printf("posizione valore cercato %d",x);
    }
    else {}
    if (x=9){
    printf("il numero non esiste");
    }
    else {}
    }
    
    
    }
    
    
    int main (void) {
    
    
    int rogers[10]=0;
    int *p ;
    *p=rogers;
    printf("array con 10 valori /n");
    popola(p);
    stampa(p);
    cerca(p);
    }
    L'errore è alla riga 40 sul Severus[x] , penso ci sia un errore a livello concettuale...
    Ultima modifica di Haki96; 01-05-2014 a 23:38

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Usa i tag CODE per mostrare il codice ...

    Comunque nelle if

    if (severus[x]=number) {

    (e anche nelle altre ) il confronto si fa con ==
    Ultima modifica di oregon; 01-05-2014 a 23:39
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    29
    Fatto!
    Edit: hai ragione , ma non c'è un errore concettuale?
    Ultima modifica di Haki96; 01-05-2014 a 23:41

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ci sono molti errori ...

    /t e /n devono essere \t e \n ...

    il parametro delle funzioni ti è stato detto che deve essere un puntatore (int *arr) mentre tu usi (severus) che non è un puntatore e non è ha tipo ...

    E tanto altro ... in pratica il tuo codice dovrebbe assomigliare a questo

    codice:
    int popola (int *arr)
    {
    	int x;
    	int val;
    
    
    	printf("popola array\n");
    
    
    	for(x=0; x<10; x++)
    	{
    		printf("inserisci valore \t");
    		scanf("%d", &val);
    	
    		*(arr+x)=val;
    	}
    
    
    	return 0;
    }
    
    
    
    
    int stampa (int *arr)
    {
    	int x;
    
    
    	for (x=0; x<10; x++)
    		printf("posizione %d : %d\t" ,x, *(arr+x));
    	
    	return 0;
    }
    
    
    int cerca (int *arr)
    {
    	int x;
    	int number;
    	int trovato=0;
    
    
    	printf("inserisci numero da cercare \t");
    	scanf("%d",&number);
    	printf("\n");
    
    
    	for(x=0; x<10; x++)
    	{
    		if (*(arr+x)==number) 
    		{
    			printf("posizione valore cercato %d\n",x);
    			trovato=1;
    		}
    	}
    	
    	if(trovato==0)
    		printf("il numero non esiste\n");
    
    
    	return 0;
    }
    
    
    
    
    int main (void) 
    {
    	int rogers[10];
    	printf("array con 10 valori \n");
    	popola(rogers);
    	stampa(rogers);
    	cerca(rogers);
    
    
    	return 0;
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    29
    Grazie mille!
    Si tralascia gli errori /t e via discorrendo li avrei corretti una volta riuscito ad eseguire, ma il mio problema era sull'errore concettuale!
    Grazie ancora!

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