|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
Esercizi per imparare il C....
mi date qualche consiglio su esercizi da provare a fare per esercitarmi per il prossimo esame di programmazione..
Grazie Danilo |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
per ora provo a fare una calcolatrice ..
appena finita posterò il codice... altri esercizi per esercitarsi?? |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
creare una lista che gestisca degli appentamenti(aggiunta, cancellazione, modifica) partendo da:
Codice:
typedef struct { char * nome; int phone; Agenda * next; }Agenda; ![]()
__________________
Gnu/Linux User ![]() |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
Poi posta qui il codice che puo servire ad altri.
__________________
Gnu/Linux User ![]() |
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
![]()
__________________
Gnu/Linux User ![]() |
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
Calcolatrice:
Quote:
|
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
#include <iostream>
#include <string> #include <cmath> #include <cstdio> using namespace std; // Liste bilaterale typedef struct SList { int irq; SList *next; SList *prev; }Lista; int main( ) { Lista prima, seconda, terza, quarta, quinta; /* definisco */ prima.irq = 9; seconda.irq = 8; terza.irq = 7; quarta.irq = 6; quinta.irq = 5; /* concateno creando la lista*/ prima.next = &seconda; prima.prev = NULL; // ---------- seconda.next = &terza; seconda.prev = &prima; // ---------- terza.next = &quarta; terza.prev = &seconda; // ----------- quarta.next = &quinta; quarta.prev = &terza; // ----------- quinta.next = NULL; // ultimo anello nullo, cosi la lista e finita quinta.prev = &quarta; Lista *primoel = &prima; // stampa Lista *cercare = primoel; const unsigned indicenodo = 4; for( unsigned i=0; i < indicenodo; i++ ) { cercare = cercare->next; } cout << cercare->irq << "\n"; system( "PAUSE" ); return 0; }
__________________
Gnu/Linux User ![]() |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
Devo trovare qualche altro esercizio da fare un pòpiù semplice..
per quello delle liste degli appuntamenti sono un pò indietro come preparazione... e ancora nn in grado di farlo.. Qualche idea su esercizio da fare?? |
![]() |
![]() |
![]() |
#11 |
Bannato
Iscritto dal: Oct 2000
Messaggi: 552
|
ecco qui :-)
Se ti interessa ti posso dire gli esercizzi che facciamo ad informatica per l'esame di C
Per il momento abbiamo fatto (in ordine di difficoltà): 1)un programma che trova un numero compreso tra 0 e 1000 nel minor numero di tentativi possibili 2)il programma per giocare al MasterMind 3)Il gioco del Tris 4)Il gioco del Forza4 Questo è l'indirizzo dove puoi trovare tutte le specifiche rispetto i programmi e le soluzioni: http://twiki.dsi.uniroma1.it/twiki/v...zione1/WebHome Gli ultimi due sono molto utili per esercitarsi a lavorare con le matrici |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
Re: ecco qui :-)
Quote:
la pagina del mio corso è: questo |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6850
|
Ti propongo il Crivello di Eratostene... algoritmo che trova tutti i numeri primi minori o al più uguali ad un intero passato in input:
/*************************************************************************** * CRIVELLO di Eratostene: il programma cerca tutti gli interi * * primi minori o al più uguali a quello passato in input * **************************************************************************/ #include <stdio.h> #include <conio.h> main() { /* Zona delle dichiarazione delle variabili: */ int i, primi[2000], num, j, nprimi, divisibile; nprimi = 1; /* Contatore dei numeri primi trovati; uno solo: 2 */ primi[0] = 2; /* Numero primo (2) trovato collocato all'inizio * * dell'array dei numeri primi */ clrscr(); /* Cancella lo schermo prima di iniziare; si può usare anche system("cls"); */ printf(" Digitare il numero max del quale si vogliono determinare \n"); printf(" tutti i primi minori: "); /* Visualizza il messaggio per l'utente, sull'azione da compiere */ scanf("%d", &num); /* prende da tastiera il numero in oggetto */ /* e lo colloca in num, passata per indirizzo */ printf("\n%9d ", primi[0]); /* stampa l'unico num. primo trovato (2) */ /* For che prende in esame tutti i numeri da 3 a num e ne testa la loro divisibilità per i primi già trovati */ for (i = 3; i <= num; i++) { divisibile = 0; /* Condizione iniziale di non-divisibilità */ /* Questo for considera tutti i primi già trovati */ for (j=0; j < nprimi; j++) if (!(i%primi[j])) divisibile = 1; /* Il controllo di divisibilità è fatto da i%primi[j], che ritorna il resto della divisione tra i e primi[j]; se il resto è 0 (!) primi[j] è un divisore di i e quindi i non è primo. In tal caso la variabile divisibile è posta uguale a 1 e sta ad indicare che è i non è primo (e va scartato) */ /* Terminato il for, il numero i corrente, è stato testato con tutti i divisori primi già trovati; se divisibile è ancora 0, significa che non c'è nessun divisore di i e quindi i è primo. */ if (!divisibile) printf("%9d ", primi[nprimi++] = i); /* In tal caso il numero i è collocato nell'array primi[], mediante l'assegnazione primi[nprimi++] = i, alla posizione data dal contatore nprimi, viene incrementato nprimi e stampato il valore del numero primo trovato. */ } printf("\n\n I numeri primi trovati sono: %d in totale\n", nprimi); getch(); } Ultima modifica di cos1950 : 12-11-2003 alle 17:25. |
![]() |
![]() |
![]() |
#14 |
Member
Iscritto dal: Apr 2002
Città: Salice(LE)
Messaggi: 112
|
vai sul sito delle Olimpiadi internazionali dell'informatica. C'è di che divertirsi e scervellarsi.
Ciao
__________________
meglio tacere e dar l'impressione d'esser scemi che aprire bocca e togliere ogni dubbio |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Attenzione che getch e clrscr non sono funzioni standard !!!
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se vuoi notevolemnte velocizzare il tuo programma:
Codice:
for (j=0; j < nprimi && !divisibile; j++) if (!(i%primi[j])) divisibile = 1; |
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
Quote:
ora lo cerco.. ![]() |
|
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
programma che indovina il numero da te pensato in minor tentativi possibili..
Quote:
|
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
Ragazzi.. della parte di algoritmi del primo compitino ho preso 30!
mi consigliate qualche eserciz da fare? |
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
up
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:47.