|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2006
Messaggi: 177
|
Ultimo favore
Non pensate che voglia approfittare della vostra gentilezza, ma mi servirebbe un ultimo piacerino. Sto cercando di recuperare a programmazione ma mi sono stati dati degli esercizi che devo consegnare tra 7 giorni che per il momento non penso di riuscire a fare. se potete darmi una mano mi fareste un grandissimo piacere.
eccoli: ESERCIZIO 1: Due array A e B di uguale lunghezza n sono identici se hanno gli stessi elementi nelle stesse posizioni. Quindi l'array {1, 1, 3} è identico all'array {1,1,3}, ma non all'array {1, 3, 1}. Scrivere un programma che verifica se due array di interi sono identici. INPUT: numero n degli elementi dei due array e successivamente i 2n interi elementi dei due array OUTPUT:1 se due array sono identici, 0 altrimenti. ESERCIZIO 2 Scrivere un programma che verifica se due array di interi sono simili. INPUR: numero n degli elementi del primo array, successivamente i suoi n, poi la lunghezza m del secondo array e successivamente i suoi m elementi. OUTPUT: 1 se i due array sono simili, 0 altrimenti. ESERCIZIO 3 Attenzione quindi che l'array{1,1,3} è permutazione dell'array {1,3,1} ma non dell'array{3,3,1}. Scrivere un programma che verifica se due array di interi sono tra loro permutazioni. INPUT:numero n degli elementi dei due array e successivamente i 2n elementi gli elementi dei due array. OUTPUT: 1 se i due array sono uno la permutazione dell'altro, 0 altrimenti. ESERCIZIO 4: (CRIVELLO DI ERATOSTENE) I numeri primi si definiscono in matematica come quei numeri naturali che sono divisibili solo per 1 e per se stessi.Esiste un antichissimo metodo (forse uno dei primi algoritmi di cui si abbia conoscenza) per generare tutti i numeri primi da 1 ad n, noto come crivello di eratostene, che risale al III secolo a.c: si scrivono tutti i numeri naturali da 1 a n. Si comincia da 2 e si cancellano tutti i suoi multipli(4,6,8,10...).Si prende il prossimo numero non cancellato, il 3 e si cancellano tutti i suoi multipli. A questo punto il primo numero non cancellato è il 5 e si cancellano i suoi multipli e cosi via. Alla fine seguendo questo procedimento, i numeri non cancellati sono tutti i numeri primi tra 1 e n(quando ci si puo fermare?) Voi dovrete semplicemente scrivere un programma che legge un intero n e produce la tabella dei numeri primi da 1 a n.[SUGGERIMENTO usare un array(dimensione massima 1000), inizializzare tutti i suoi elementi a 1; poi applicare l'algoritmo di eratostene dove cancellare il numero i, significa porre a 0 l'i-esimo elemento dell'array- Stampare l'indice degli elementi dell'array rimasti uguali a 1] ESERCIZIO 5: TRIANGOLO DI TARTAGLIA Scrivete un programma che rivevuto in input un numero naturale n, stampa in output l'n-esima riga del triangolo di tartaglia. Considerare la riga che contiene solo 1 come la 0-esima, quella con 11 la prima e cosi via. GRAZIE GRAZIE GRAZIE
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2005
Città: Ahimè..Bs ----------------------------------- Messaggi tot: 1000+
Messaggi: 772
|
sono programmini molto semplici... credo che non dovresti avere grossi problemi a farli...
più che altro, e questo mi fa pensare male, non hai specificato in che linguaggio devi farli
__________________
11/2006-Inspiron6400 -t7200|2GB@533MHz|S-ATA 80gb@7200rpm|Ati X1400|9cell Battery||garanzia 3 anni On-Site NBD ex: Toshiba M30-154 (PERCHE' NON COMPRARE TOSHIBA..LEGGI QUI) + P4 2.8@3,2GHz 1MB L2, Gigabyte 915p-duo,1GB DDR400 DualCh, gF 6600gt 128MB GDDR3 + Canon Ixus50 + Creative Muvo^2 1.5GB |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2003
Messaggi: 3852
|
Suppongo in Java, giusto?
Sono esercizi molto semplici, basta che ti studi una guida che abbia come oggetto gli array e la loro gestione. Devi anche scrivere delle classi test che mettano alla prova i metodi che andrai a creare?
__________________
Cerco fotocamera con buono zoom!! CLICCA! ° Moderatore del Forum Ufficiale di ElaborarE (responsabile sezione HI-FI e Car Audio) ° |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2006
Messaggi: 177
|
in C devo farli.
io ci proverò. però se potreste darmi una mano.... |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Aug 2006
Messaggi: 177
|
dai, per favore, per voi possono essere una stronzata ma per me sono molto difficili, ho cominciato oggi a studiare i vettori e non penso di fare in tempo a farli per lunedi. ci proverò ma mi garantite che nel caso non ci riuscissi mi aiuterete?
grazie |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Aug 2006
Messaggi: 177
|
ho provato a fare il primo esercizio ma funziona a metà, potete darci un'occhiata?
#include <stdio.h> int main() { int a[1000]; int b[1000]; int i=0; int j=0; int k=0; scanf("%d", &j); for(i=0;i<j;i++){ scanf("%d", &a[i]); scanf("%d", &b[i]); } for(i=0;i<j;i++){ if(a[i]!=b[i]){ k++; }} if(k>0){ printf("\n0\n"); } else { printf("\n1\n"); } while(getchar() != '\n'); printf("Premere INVIO per continuare..."); getchar(); } FUNZIONA SOLO SE TUTTI GLI ELEMENTI DI UN VETTORE SONO UGUALI, MA SE PER ESEMPIO METTO 2 VETTORI DI ELEMENTI 1,2,3,4,5 NON FUNZIONA AIUTATEMI VI PREGOOOO
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
Quote:
for (int x = 1; x < dimensione_massima;x++){ numeriprimi[x] = 1; } for (int y = 2; y <dimensione_massima;y++){ if (numeriprimi[y]==1){ int z = y; while (z < dimensione_massima){ z = z * y; numeriprimi[z]=0; } } } ps: vergogna... ti fai pure aiutare da un dilettante pps: ho fatto solo questo xche mi sta simpatico il CRIVELLO DI ERATOSTENE |
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Aug 2006
Messaggi: 177
|
ti ringrazio, lo provo subito
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Napoli
Messaggi: 999
|
prova ad usare un while tipo questo, senza contatori e cose varie....
Codice:
uguali=1;i=0;
while(uguali==1 && i<j)
{
if(a[i]!=b[i])
uguali=0;
i++;
}
__________________
Intel Pentium IV 3,0 GHz, Asus P5SD2-X , 1.0 Gb ddr2, Radeon X550 , Maxtor 160Gb sata, Hitachi 100 gb pata,Piooner Dvr-109 ,Microsoft Windows XP Professional Service Pack 2 Ultima modifica di TuLKaS85 : 30-10-2006 alle 19:57. |
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Aug 2006
Messaggi: 177
|
tulka a che esercizio ti riferisci?
potresti inserire il pezzo che hai postato nel posto giusto del mio esercizio, sennò non mi ci raccapezzo piu per mamo139: . potresi indicarmi anche le scanf e le printf per il risultato finale, cioè dove e come andrebbero inserite, vi ringrazio. |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Nov 2004
Città: Napoli
Messaggi: 999
|
Quote:
cmq ti ho corretto il primo esercizio , del tuo codice và bene l'inizializzazione degli array, ricorda di dichiarare la variabile uguali dopodicè ci metti il while ed infine fai una semplice printf("%d",uguali);
__________________
Intel Pentium IV 3,0 GHz, Asus P5SD2-X , 1.0 Gb ddr2, Radeon X550 , Maxtor 160Gb sata, Hitachi 100 gb pata,Piooner Dvr-109 ,Microsoft Windows XP Professional Service Pack 2 |
|
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Aug 2006
Messaggi: 177
|
ok, grazie
domani li rivedo tutti bene e li riscrivo |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Napoli
Messaggi: 999
|
ESERCIZIO 3ati due array A e B di uguale lunghezza, A è permutazione di B, se contiene esattamente gli stessi elementi B, non necessariamente nelle stesse posizioni (eventuali elementi ripetuti devono avere lo stesso numero di occorrenze in entrambi gli array).
Attenzione quindi che l'array{1,1,3} è permutazione dell'array {1,3,1} ma non dell'array{3,3,1}. Scrivere un programma che verifica se due array di interi sono tra loro permutazioni. INPUT:numero n degli elementi dei due array e successivamente i 2n elementi gli elementi dei due array. OUTPUT: 1 se i due array sono uno la permutazione dell'altro, 0 altrimenti. ho pensato a questo.... è da ottimizzare pareccchio ma come idea base può andare. Codice:
output,cont=0;
uguali=1;
if(n<m) //con n size di a e m size di b
{
for(j=0;j<m;j++)
{
i=0;
while(i<n&&uguali==0)
{
if(a[i]==b[j])
{
uguali=1;
cont++;
}
i++;
}
}
if(cont=m)
output=1;
}
else
{
for(j=0;j<n;j++)
{
i=0;
while(i<m&&uguali==0)
{
if(a[i]==b[j])
{
uguali=1;
cont++;
}
i++;
}
}
if(cont=n)
output=1;
}
__________________
Intel Pentium IV 3,0 GHz, Asus P5SD2-X , 1.0 Gb ddr2, Radeon X550 , Maxtor 160Gb sata, Hitachi 100 gb pata,Piooner Dvr-109 ,Microsoft Windows XP Professional Service Pack 2 |
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Aug 2006
Messaggi: 177
|
secondo me è sbagliato.
il testo dice due vettori di uguale lunghezza, e perchè tu hai inserito if(n<m)?? |
|
|
|
|
|
#15 |
|
Member
Iscritto dal: Aug 2006
Messaggi: 177
|
PER QUANTO RIGUARDA IL PRIMO ESERCIZIO
tulka ho fatto come mi hai detto ma ho sempre lo stesso problema. se per esempio inserisco due vettori, uno di elementi 1,2,3 e l'altro di elementi 1,2,3 mi dice che sono diversi. per farmi dire che sono uguali devo solo inserire vettori tipo 1,1,1, e 1,1,1, come mai? |
|
|
|
|
|
#16 |
|
Member
Iscritto dal: Aug 2006
Messaggi: 177
|
so proprio un coglion, ero io che sbagliavo a inserire gli elementi
funziona funziona puoi aiutarmi a modificare quell'altro programmone che hai fatto? quello che si deve ottimizzare grazie |
|
|
|
|
|
#17 |
|
Member
Iscritto dal: Aug 2006
Messaggi: 177
|
PER MAMO139
nell'esercizio del crivello di eratostene che mi hai fatto puoi dirmi cosa devo inserire, cioè cosa devo stampare, ecc.. |
|
|
|
|
|
#18 |
|
Member
Iscritto dal: Aug 2006
Messaggi: 177
|
vi prego aiutatemiii
il primo esercizio è fatto mi mancano gli altri 4, 2 li avete anche abbozzati ma non ci riesco a mettere le mani lo stesso, non so cosa farci, se potete dirmi voi... |
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
Quote:
for (int x = 0; x< dimensione_massima;x++){ if (numeriprimi[x]==1) printf("%d",x); } ps: |
|
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Nov 2004
Città: Napoli
Messaggi: 999
|
Quote:
per il crivello di erastotene o come si dice... fai un for che va da 0 a 1000 con un if dentro del tipo for(i=0;i<SIZE;i++) //SIZE nel tuo caso è 1000 if(numeriprimi[i]==1) printf("%d ",i); questo lo metti in coda al programma... un consiglio, a meno che questa non sia una cosa occasionale, mettiti a studiare un pochino, l'approccio al programma ci può stare che uno trova difficoltà, ma mettere le stampe è molto banale. Se poi dopo questi programmi hai chiuso con il C allora te ne potresti anche sbattere
__________________
Intel Pentium IV 3,0 GHz, Asus P5SD2-X , 1.0 Gb ddr2, Radeon X550 , Maxtor 160Gb sata, Hitachi 100 gb pata,Piooner Dvr-109 ,Microsoft Windows XP Professional Service Pack 2 |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:32.



















