Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-09-2006, 17:24   #1
DavidGT
Member
 
Iscritto dal: Jul 2005
Messaggi: 151
[C] Potete darmi una mano?

Ho l'esame di fondamenti di informatica la prossim settimana, e mi sto esercitando un po', soprattutto sulla ricorsione.

Potreste dirmi se la parte di programma che ho fatto per esercizio ieri può funzionare e che errori ho commesso.

Ho allegato il file, ci sono scritte le descrizioni delle funzioni da implementare.

Se qualcuno ha la cortesia di dargli un occhio gliene sarei molto grato



Grazie, Davide.
Allegati
File Type: txt scacchiera.txt (7.1 KB, 49 visite)
DavidGT è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 17:28   #2
Marco Giunio Silano
Senior Member
 
L'Avatar di Marco Giunio Silano
 
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 908
non hai provato a compilare vero?

edit

non ho capito perché vedo due volte la funzione2 e la dichiarazione di scacchiera
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita
Milla

Ultima modifica di Marco Giunio Silano : 06-09-2006 alle 17:30.
Marco Giunio Silano è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 17:30   #3
DavidGT
Member
 
Iscritto dal: Jul 2005
Messaggi: 151
Non compila perchè non ha un main, non è un programma che deve girare. Devo solo implementare delle funzioni, e vorrei sapere se l'ho fatto bene....

Praticamente è una parte dell'esame, da fare senza compilatore

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

perchè la seconda volta ho provato a rifarla ricorsiva
DavidGT è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 18:22   #4
GoldenAxe79
Senior Member
 
L'Avatar di GoldenAxe79
 
Iscritto dal: Jun 2005
Messaggi: 659
sei iscritto ad informatica , dove ?
GoldenAxe79 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2006, 18:22   #5
DavidGT
Member
 
Iscritto dal: Jul 2005
Messaggi: 151
Quote:
Originariamente inviato da GoldenAxe79
sei iscritto ad informatica , dove ?

No Ing. Aerospaziale a Milano....

Nessuno mi aiuta?
DavidGT è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2006, 11:29   #6
DavidGT
Member
 
Iscritto dal: Jul 2005
Messaggi: 151
up

Nessuno che ne sa ha 5 minuti da perdere? Per voi sono delle cavolate..
DavidGT è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2006, 13:48   #7
GoldenAxe79
Senior Member
 
L'Avatar di GoldenAxe79
 
Iscritto dal: Jun 2005
Messaggi: 659
studiate la meccanica del volo ?
GoldenAxe79 è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2006, 13:51   #8
DavidGT
Member
 
Iscritto dal: Jul 2005
Messaggi: 151
Quote:
Originariamente inviato da GoldenAxe79
studiate la meccanica del volo ?
certo
DavidGT è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2006, 13:57   #9
dierre
Senior Member
 
L'Avatar di dierre
 
Iscritto dal: Sep 2004
Città: Interamnia Urbs
Messaggi: 2126
scusa eh, ma mettici un main e provala. Neanche due minuti ci metti.
__________________
Un wormhole (buco di tarlo, in italiano), detto anche Ponte di Einstein-Rosen, è una ipotetica caratteristica topologica dello spaziotempo che è essenzialmente una "scorciatoia" da un punto dell'universo a un altro, che permetterebbe di viaggiare tra di essi più velocemente di quanto impiegherebbe la luce a percorrere la distanza attraverso lo spazio normale.
Go to a Wormhole
dierre è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2006, 14:31   #10
BountyKiller
Utente sospeso
 
Iscritto dal: Oct 2002
Messaggi: 2156
veramente una bella facoltà aerospaziale.... purtropo qui da me non c'è e ho dovuto ripiegare su ingegneria informatica.
Ma le prospettive di lavoro in italia ci sono?
__________________
sign editata dallo staff
BountyKiller è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2006, 14:32   #11
dierre
Senior Member
 
L'Avatar di dierre
 
Iscritto dal: Sep 2004
Città: Interamnia Urbs
Messaggi: 2126
Quote:
Originariamente inviato da BountyKiller
veramente una bella facoltà aerospaziale.... purtropo qui da me non c'è e ho dovuto ripiegare su ingegneria informatica.
Ma le prospettive di lavoro in italia ci sono?
per ripiegare suppongo fosse più indicata meccanica.
__________________
Un wormhole (buco di tarlo, in italiano), detto anche Ponte di Einstein-Rosen, è una ipotetica caratteristica topologica dello spaziotempo che è essenzialmente una "scorciatoia" da un punto dell'universo a un altro, che permetterebbe di viaggiare tra di essi più velocemente di quanto impiegherebbe la luce a percorrere la distanza attraverso lo spazio normale.
Go to a Wormhole
dierre è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2006, 14:46   #12
DavidGT
Member
 
Iscritto dal: Jul 2005
Messaggi: 151
Certo che ci sono prospettive di lavoro, innanzitutto sei un Ingegnere Industriale, alla fine non pensare che perchè sei Aerospaziale potrai solo lavorare in aziende basate sulla progettazzione di aerei o affini.

Cmq sopratutto nella mia zona (tra Milano e Torino) il settore è molto sviluppato, vedi Aermacchi, Alenia Spazio, Agusta
DavidGT è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2006, 15:35   #13
BountyKiller
Utente sospeso
 
Iscritto dal: Oct 2002
Messaggi: 2156
si si anch'io ufficialmente sono uno ingegnere dell'industria, anche se pare che possa firmare per progetti anche nell'ambito dell'edilizia.... di sicuro posso firmare la messa a norma di impianti elettrici, ma se poi succede qualcosa vengono a cercarmi quindi...

comunque ribadisco che aerospaziale è un bel corso di laurea.
__________________
sign editata dallo staff
BountyKiller è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2006, 15:37   #14
DavidGT
Member
 
Iscritto dal: Jul 2005
Messaggi: 151
Non divaghiamo troppo dal tema.....

Il programma non riesco a farlo funzionare!!!!

Please
DavidGT è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2006, 05:45   #15
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da DavidGT
Non divaghiamo troppo dal tema.....

Il programma non riesco a farlo funzionare!!!!

Please
Hai ragione.
Mi permetto di dare alcuni suggerimenti (non ho analizzato a fondo il tutto).

- linea 47 (funzione funzione1()) si legge:
else if {
che non ha senso. Immagino non volessi aggiungere l'if.

- linea 49, 52, 55, 58, 61 (stessa funzione). Fail il confronto fra stringhe. Il confronto scritto non e' valido poiche' andra' a valutare solo degli indirizzi.
Il confronto fra queste scritte si esegue con la funzione strcmp().
Nel tuo caso:

if (!strcmp (head->pedina.tipopezzo, "PedoneBianco"))
...
Ti prego di notare che le stringhe devono essere racchiuse da apici doppi (") e non semplici ('). Userai gli apici semplici quando devi racchiudere un singolo carattere (il quale sara' di tipo char. Se ovviamente vuoi racchiudere una stringa composta da un solo carattere, userai ovviamente gli apici doppi).

- Linea 94: esegui una allocazione dinamica mediante l'uso della malloc(). So benissimo che si tratta di un programma didattico, ma per favore ricordati sempre che la malloc() puo' fallire, non allocando memoria e riportandoti un puntatore a NULL. Controlla sempre poiche' nel caso di programmi veri, questo tipo di dimenticanze sono veramente costose (potresti avere un programma che saltuariamente si incarta e potresti perdere settimane a capire cosa succede).
Piuttosto che niente puoi scrivere:
nuovo=(elemento *)malloc(sizeof(elemento));
if (!nuovo)
{
printf ("Errore allocazione memoria!!!");
exit (0);
}
Non e' il massimo ma almeno sai esattamente cosa succede.

- Linea 95: stesse considerazioni. L'assegnamento pero' non lo puoi fare in questo modo ma devi usare la funzione strcpy(). Nel tuo caso:
strcpy (nuovo->pedina.tipopezzo, "PedoneBianco");
Fai attenzione che la strcpy NON fa alcun controllo sul fatto che nuovo->pedina.tipopezzo sia sufficientemente grande per contenere la stringa che vuoi inserire. Se non fosse sufficientemente grande, potresti avere dei malfunzionamenti del tutto strani e, purtroppo, anche saltuari. E' tua responsabilita' controllare sempre.

- Linea 107, 119, 131, 143, 155, 167, 179, 191, 203 - Stessa cosa relativa agli assegnamenti. Suggerimento: Si tratta di codice di cui hai fatto copy&paste e poi modificato.
Secondo i modernissimi studi sull'ingegneria del software condotti dal sottoscritto, la tecnica piu' usata per il riuso del software e' appunto il copy & paste
Sembrera' strano, parlano tutti (o quasi) dei massimi sistemi e poi il software che mi trovo a spulciare (mi pagano per far funzionare le cose quando l'autore si arrende) e' pieno di tecniche simili. Anche se si tratta di un programma didattico, il mio consiglio e' di spendere 10 minuti in piu' a pensare ad una soluzione diversa e piu' compatta. Ti troveresti a correggere un solo errore invece di una pletora, con il rischio di dimenticarsene qualcuno.

Come hai visto, mi sono limitato a semplici considerazioni sintattiche. Nel caso serva, possiamo andare piu' in dettaglio ma il consiglio e' quello di farlo girare. Ci vuole davvero poco, hai gia' scritto quasi tutto.

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2006, 10:23   #16
DavidGT
Member
 
Iscritto dal: Jul 2005
Messaggi: 151
Quote:
Originariamente inviato da sottovento
Hai ragione.
Mi permetto di dare alcuni suggerimenti (non ho analizzato a fondo il tutto).

- linea 47 (funzione funzione1()) si legge:
else if {
che non ha senso. Immagino non volessi aggiungere l'if.
A noi hanno fatto usare anche else if quando ci sono più relazioni, posso mettere tutti if il risultato non dovrebbe cambiare.

Quote:
- linea 49, 52, 55, 58, 61 (stessa funzione). Fail il confronto fra stringhe. Il confronto scritto non e' valido poiche' andra' a valutare solo degli indirizzi.
Il confronto fra queste scritte si esegue con la funzione strcmp().
Nel tuo caso:

if (!strcmp (head->pedina.tipopezzo, "PedoneBianco"))
...
Non ho capito bene questo passaggio...
Qui non va bene il confronto perchè ho passato la lista per puntatore giusto?
Altrimenti in un passaggio per copia la sintassi sarebbe giusta?

Quote:
Ti prego di notare che le stringhe devono essere racchiuse da apici doppi (") e non semplici ('). Userai gli apici semplici quando devi racchiudere un singolo carattere (il quale sara' di tipo char. Se ovviamente vuoi racchiudere una stringa composta da un solo carattere, userai ovviamente gli apici doppi).

- Linea 94: esegui una allocazione dinamica mediante l'uso della malloc(). So benissimo che si tratta di un programma didattico, ma per favore ricordati sempre che la malloc() puo' fallire, non allocando memoria e riportandoti un puntatore a NULL. Controlla sempre poiche' nel caso di programmi veri, questo tipo di dimenticanze sono veramente costose (potresti avere un programma che saltuariamente si incarta e potresti perdere settimane a capire cosa succede).
Piuttosto che niente puoi scrivere:
nuovo=(elemento *)malloc(sizeof(elemento));
if (!nuovo)
{
printf ("Errore allocazione memoria!!!");
exit (0);
}
Non e' il massimo ma almeno sai esattamente cosa succede.
Questo della Malloc() proprio non lo sapevo...

Quote:
- Linea 95: stesse considerazioni. L'assegnamento pero' non lo puoi fare in questo modo ma devi usare la funzione strcpy(). Nel tuo caso:
strcpy (nuovo->pedina.tipopezzo, "PedoneBianco");
Fai attenzione che la strcpy NON fa alcun controllo sul fatto che nuovo->pedina.tipopezzo sia sufficientemente grande per contenere la stringa che vuoi inserire. Se non fosse sufficientemente grande, potresti avere dei malfunzionamenti del tutto strani e, purtroppo, anche saltuari. E' tua responsabilita' controllare sempre.
Grazie mille, non le ho usate perchè non ho molta dimestichezza con queste funzioni che gestiscono stringhe, in effetti però mi sono reso conto che passare i caratteri in quel modo sarebbe sbagliato!!

Quote:
- Linea 107, 119, 131, 143, 155, 167, 179, 191, 203 - Stessa cosa relativa agli assegnamenti. Suggerimento: Si tratta di codice di cui hai fatto copy&paste e poi modificato.
Secondo i modernissimi studi sull'ingegneria del software condotti dal sottoscritto, la tecnica piu' usata per il riuso del software e' appunto il copy & paste
Sembrera' strano, parlano tutti (o quasi) dei massimi sistemi e poi il software che mi trovo a spulciare (mi pagano per far funzionare le cose quando l'autore si arrende) e' pieno di tecniche simili. Anche se si tratta di un programma didattico, il mio consiglio e' di spendere 10 minuti in piu' a pensare ad una soluzione diversa e piu' compatta. Ti troveresti a correggere un solo errore invece di una pletora, con il rischio di dimenticarsene qualcuno.

Come hai visto, mi sono limitato a semplici considerazioni sintattiche. Nel caso serva, possiamo andare piu' in dettaglio ma il consiglio e' quello di farlo girare. Ci vuole davvero poco, hai gia' scritto quasi tutto.

High Flying
Sottovento

Grazie mille per i suggerimenti, ora provo a metterlo a posto!!

Ultima modifica di DavidGT : 08-09-2006 alle 10:45.
DavidGT è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2006, 12:39   #17
DavidGT
Member
 
Iscritto dal: Jul 2005
Messaggi: 151
Altro esercizietto

guardate un secondo questo...

perchè non mi prende in modo corretto l'anno??

Grazie!!

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

//Creare un programma che permetta di creare una lista di
//nominativi che contenga una anagrafica con i seguenti dati: nome cognome e data di
//nascita. Le funzionalità richieste sono l’inserimento di nuovi nominativi e la stampa di tutto
//l’archivio.

typedef struct el {
	int anno;
	char nome[10];
	char cognome[10];
	struct el *next;
} elemento;


elemento * inseriscitesta (elemento *head);
void stampa (elemento *head);


void main () {


	int scelta=5;
	elemento *lista;

	lista=NULL;

	while (scelta != 9) {
	printf("Se vuoi inserire un nominativo premi 1 altrimenti premi 0 per stampare la lista || per uscire 9\n\n");
	scanf("%d",&scelta);

	if (scelta == 1) {

		lista=inseriscitesta(lista);
	}

	if (scelta == 2) {

		stampa (lista);

	}
}
}




elemento * inseriscitesta (elemento *head) {

	elemento *new;

	new=(elemento *)malloc(sizeof(elemento));
	new->next=head;

		printf("Inserire il nome\n");
		scanf("%s", new->nome);
		printf("Inserire il cognome\n");
		scanf("%s", new->cognome);
		printf("Inserire anno di nascita\n");
		scanf("%d", new->anno);

	return new;
}

void stampa (elemento *head) {

	while (head != NULL) {

		printf("%s - %s - %d\n", head->nome, head->cognome, head->anno);
		head=head->next;
	}
}
DavidGT è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2006, 14:06   #18
DavidGT
Member
 
Iscritto dal: Jul 2005
Messaggi: 151
UP
DavidGT è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2006, 19:08   #19
DavidGT
Member
 
Iscritto dal: Jul 2005
Messaggi: 151
DavidGT è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2006, 19:57   #20
Barbalbero
Registered User
 
Iscritto dal: Aug 2006
Messaggi: 305
Ma new non è una parola riservata?

Cmq devi mettere l'operatore & nella scanf dell'anno
Barbalbero è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Samsung invia i primi sample di memoria ...
Xbox Game Pass per PC potrebbe aumentare...
Primo test con Dacia Spring 2026: motore...
Italia sempre più digitale, anche...
Tutte le offerte Amazon di oggi: 13 novi...
CD Projekt RED punta sull'Intelligenza A...
Offerte Oral-B iO su Amazon: spazzolini ...
Consegne sempre più rapide: Amazo...
Epic introduce l'anticheat di livello ke...
Google Gemini sfruttato da hacker di Sta...
Braun taglia i prezzi su Amazon: dai ras...
Helldivers al cinema: Jason Momoa nel ca...
Gli occhiali AI fanno volare EssilorLuxo...
Elon Musk riorganizza xAI dopo l'addio d...
Upgrade del PC al prezzo giusto: su Amaz...
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: 13:59.


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