Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-03-2011, 16:56   #1
managerfx
Junior Member
 
Iscritto dal: Feb 2011
Messaggi: 11
Passaggio di un vettore multidimensionale a una funzione!

Salve ragazzi, ho un problema con un esercizio che sto svolgendo:
vi spiego la traccia:
devo realizzare un programma che carichi un elenco di nome e cognome e che mi stampi la stessa su desktop....e che effettui una ricerca di un nome o cognome nell'elenco utilizzando una funzione.

quello a cui avevo pensato è questo:
Quote:
#include <stdio.h>
#include <stdlib.h>
#define righe 100
#define colon 2
#define caratteri 30


char ricerca (char, char, int); /*PROTOTIPO DELLA FUZIONE*/


/*funzione ricerca*/
int ricerca (char lista[righe][colon], char x, int n)

{int i, j;

for (i=0; i<n; i++)
{
for (j=0; j<colon; j++)
{
if (x == lista[i][j])
return 1;
}
}
return 0;
}



/*main*/


int main ()
{
char lista [righe][colon][caratteri], x[caratteri];
int n, scelta, i, j, y=1, flag=0;

do
{printf ("\n\n CREAZIONE LISTA...");

do
{
printf ("\n\nInsierisci il numero di item da catalogare: ");
scanf ("%d", &n);
}
while (n>righe || n <=0);

for (i=0; i<n; i++)
{
for (j=0; j<colon; j++)
{
printf ("\n");
printf (".%d^ NOME: ", i+1);
scanf ("%s", lista[i][j]);
j=j+1;
printf (".%d^ COGNOME: ", i+1);
scanf ("%s", lista[i][j]);
}
}

/*STAMPA*/

printf ("\n\n\_____________STAMPA___________\n\n", i+1);
for (i=0; i<n; i++)
{
printf ("%d. ", y);
for (j=0; j<colon; j++)
{
printf ("%s |", lista[i][j]);
printf (" ", lista[i][j]);
}

printf ("\n\n");
y=y+1;
}

/* RICERCA ITEM*/


printf ("\n\n Vuoi effettuare una ricerca? 1= SI 2= NO: ");
scanf ("%d", &scelta);

if (scelta==1)
{
printf ("\n\n - Inserisci item da ricercare: ");
scanf ("%s", &x);
flag=ricerca(lista[righe][colon][caratteri], x, n);
if (flag == 1)
printf ("\n\n ELEMENTO TROVATO!!! ");
else
printf ("\n\n NON TROVATO!!! ");
}




scelta=0;
printf ("\n\n\n\n Premi 1 per ripetere: ");
scanf ("%d", &scelta);

} while (scelta == 1);

system ("pause");
return 0;

}


IL PROBLEMA E' CHE IN FASE DI COMPILAZIONE DI DA UN ERRORE DI QUESTO TIPO: no matching function for call to `ricerca(char&)'


Sapreste indicarmi dove commetto l'errore?

graazie

Ultima modifica di managerfx : 18-03-2011 alle 15:32.
managerfx è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2011, 17:05   #2
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
se definisci e includi la funzione prima del main il prototipo ( la sola dichiarazione della funzione ) è inutile.

rileggi bene il programma, ci sono un paio di errori evidenti, chiediti cosa deve ritornare la funzione, di che tipo quindi deve essere e se è necessario che sia tipata, e come avviene il passaggio di vettori ( che sono comunque puntatori ) nel C.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2011, 17:20   #3
managerfx
Junior Member
 
Iscritto dal: Feb 2011
Messaggi: 11
in effetti ho sbagliato il tipo della funzione che al posto di "char" deve essere "int"...il problema è che proprio non ricordo come cavolo si passano i vettori alle funzioni....il discorso "puntatori" non me lo ricordo proprio!


che devo dirvi....mi basta anche una giuda....dato che sul libro non ho trovato niente!

grazie ancora!

PS: non ho mai capito a che serve il prototipo della funzione! mi sapreste chiarire le idee a riguardo???
managerfx è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2011, 13:11   #4
managerfx
Junior Member
 
Iscritto dal: Feb 2011
Messaggi: 11
c'è qualcuno che sa darmi una dritta???
managerfx è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2011, 14:35   #5
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Ti consiglio di indentare bene il codice... io non mi ci metto proprio a leggere un codice non indentato..ti fa perdere il filo

comunque come ti ha detto Freaxxx ci sono "almeno" 2 grossi errori...

modifica il codice e indentalo
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2011, 15:32   #6
managerfx
Junior Member
 
Iscritto dal: Feb 2011
Messaggi: 11
non mi esce indentato!
managerfx è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2011, 15:37   #7
managerfx
Junior Member
 
Iscritto dal: Feb 2011
Messaggi: 11
ecco il file indentato.....avevo sbagliato a copiarlo! sorry

Codice:
#include <stdio.h>
#include <stdlib.h>
#define righe 100
#define colon 2
#define caratteri 30


char ricerca (char, char, int); /*PROTOTIPO DELLA FUZIONE*/


/*funzione ricerca*/
int ricerca (char lista[righe][colon], char x, int n)

     {int i, j;
     
          for (i=0; i<n; i++)
              {
                    for (j=0; j<colon; j++)
                        {
                              if (x == lista[i][j])
                                 return 1;
                        }
              }
     return 0;
     }



/*main*/


int main ()
{
    char lista [righe][colon][caratteri], x[caratteri];
    int n, scelta, i, j, y=1, flag=0; 
    
    do 
       {printf ("\n\n CREAZIONE LISTA...");
       
       do
         {
               printf ("\n\nInsierisci il numero di item da catalogare: ");
               scanf ("%d", &n);
         }
       while (n>righe || n <=0);
       
       for (i=0; i<n; i++)
           {
                 for (j=0; j<colon; j++)
                     {
                           printf ("\n");
                           printf (".%d^ NOME: ", i+1);
                           scanf ("%s", lista[i][j]);
                           j=j+1;
                           printf (".%d^ COGNOME: ", i+1);
                           scanf ("%s", lista[i][j]);
                     }
           }
           
        /*STAMPA*/
        
        printf ("\n\n\_____________STAMPA___________\n\n", i+1);
        for (i=0; i<n; i++)
           {
                 printf ("%d. ", y);
                 for (j=0; j<colon; j++)
                     {
                           printf ("%s  |", lista[i][j]);
                           printf ("  ", lista[i][j]);
                     }
                     
             printf ("\n\n"); 
             y=y+1;       
           }   
         
         /* RICERCA ITEM*/
         
         
         printf ("\n\n  Vuoi effettuare una ricerca? 1= SI    2= NO: ");
         scanf ("%d", &scelta);
         
         if (scelta==1)
                        {
                               printf ("\n\n - Inserisci item da ricercare: ");
                               scanf ("%s", &x);
                               flag=ricerca(lista[righe][colon][caratteri], x, n);
                               if (flag == 1)
                                  printf ("\n\n  ELEMENTO TROVATO!!! ");
                               else 
                                    printf ("\n\n  NON TROVATO!!! ");
                        }
                        
         
         
         
         scelta=0;
         printf ("\n\n\n\n Premi 1 per ripetere: ");
         scanf ("%d", &scelta);
                 
        } while (scelta == 1);
           
           system ("pause");
           return 0;
           
   }
managerfx è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Prezzi alle stelle della memoria RAM, se...
Torna MacBook Air con chip M4 scontato d...
Torna a soli 25,40€ il caricatore multip...
L'India chiede ai produttori di smartpho...
Apple cambia tutto sull'intelligenza art...
AWS Transform si evolve: agenti IA per m...
I social network hanno stancato gli ital...
Star Citizen supera i 900 milioni di dol...
Netflix ha eliminato la funzione Cast pe...
L'IA è una bolla e scoppier&agrav...
Un rapporto collega i data center di Ama...
Troppa concorrenza per Cherry (quella de...
Entro il 2035 la Cina vuole costruire de...
Tineco in super sconto: ultimo giorno di...
La Cina creerà una costellazione ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v