Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-11-2006, 16:14   #1
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
Vi prego aiutatemi

sono nei guai, mi mancano questi 2 esercizi e non ci riesco proprio a farli, qualcuno gia gli ha abbozzati, ma io non riesco a sistemarli, dai per piacere, voi non ci mettete niente, poi non vi scoccio piu


ESERCIZIO 2ue array A e B di lunghezza rispettivamente n e m sono simili se contengono gli stessi elementi. Attenzione che l'array {1,1,3} è simile all'array {1,3,1} ma anche all'array{3,3,3,1}, ma non all'array{1,2,3}.
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 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.
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 16:36   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Vasec87
sono nei guai, mi mancano questi 2 esercizi e non ci riesco proprio a farli, qualcuno gia gli ha abbozzati, ma io non riesco a sistemarli, dai per piacere, voi non ci mettete niente, poi non vi scoccio piu
Intanto quale linguaggio?
Non sono esercizi particolarmente complicati. Entrambi si possono suddividere in due fasi: a) input dei dati b) elaborazione dei dati

Il tuo problema quale è di preciso?? Hai già buttato giù del codice (spero )?
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 16:46   #3
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
si devono fare in C

io per ora riesco solo a caricare i vettori, perchè ancora devo finire di studiarli e quindi non so fare molte cose sui vettori

il problema è che mi servono per dopodomani

non so come fare
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 16:51   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Vasec87
io per ora riesco solo a caricare i vettori
Ok, allora posta il codice che carica almeno i vettori.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 17:05   #5
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
#include <stdio.h>

int main()
{
int a[1000];
int b[1000];
int i=0;
int j=0;
int uguali=0;

scanf("%d", &j);

for(i=0;i<j;i++){
scanf("%d", &a[i]);
scanf("%d", &b[i]);
}



QUESTO PEREO' PENSO CHE VALGA SOLO PER IL TERZO ESERCIZIO, CIOE' CON I DUE VETTORI CHE HANNO LO STESSO NUMERO DI ELEMENTI.
SO FARLO ANCHE CON ELEMENTI DIVERSI, MA POI NON SO CONTINUARE
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 17:57   #6
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
dai ti prego andibin o chiunque altro, aiutatemi, non è che non mi va, è che non ci riuscirei mai in 2 giorni
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 18:04   #7
Andrea16v
Senior Member
 
L'Avatar di Andrea16v
 
Iscritto dal: Mar 2003
Messaggi: 3852
Quote:
Originariamente inviato da Vasec87
dai ti prego andibin o chiunque altro, aiutatemi, non è che non mi va, è che non ci riuscirei mai in 2 giorni
Potevi iniziare prima a farli...

Scherzo eh, non te la prendere..
__________________
Cerco fotocamera con buono zoom!! CLICCA!
° Moderatore del Forum Ufficiale di ElaborarE (responsabile sezione HI-FI e Car Audio) °
Andrea16v è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 18:09   #8
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
no, non potevo perchè me li hanno dati 2-3 giorni fa

dai se sai farli aiutami, per piacere
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 18:22   #9
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Ok, il codice che hai postato direi che va bene. Come hai giustamente pensato, vale solo per il 3° esercizio ma la differenza con il secondo 2° è praticamente minima. Nel secondo esercizio invece di prendere 1 lunghezza ne prendi 2. In pratica si tratta di fare 2 scanf per le lunghezze e 2 for separati per l'input. Molto semplice, credo.

Da quanto ho capito, il tuo problema è sviluppare gli algoritmi per i due esercizi. Qui, secondo me, basta solo ragionare un pochino.

Vediamo il secondo esercizio: ti chiede di stabilire se i 2 array sono simili. Si deduce che sono simili solo se contengono gli stessi elementi, in qualunque posizione. Giriamo la cosa al contrario: non sono simili se uno dei due array contiene anche solo un valore che non c'è nell'altro.

Prendiamo a[]={1, 4, 1, 7} e b[]={4, 1, 1}

Fai un ciclo for per scansionare gli elementi di a[]. Per ogni elemento in a[] fai un ciclo for innestato che scansiona b[] per vedere se c'è un elemento in b[] con lo stesso valore. Se non c'è, allora non sono simili.
Ma non basta, devi fare poi la stessa cosa ma all'inverso, cioè scansioni prima b[] e per ogni elemento scansioni a[] per vedere se c'è.

Il terzo esercizio è anche abbastanza semplice: basta ordinare i 2 array e poi fare un confronto valore per valore. Se sono uguali allora un array è la permutazione dell'altro.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 18:29   #10
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
guarda, per il secondo esercizio potrei anche riuscirci, domani mi ci metto.

ma il terzo è impossibile per me visto che ancora non so fare l'ordinamento dei vettori. se potresti abbozzarlo tu il terzo mi faresti un enorme piacere, io intanto domani mattina provo a fare il secondo.

ti ringrazio
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 01-11-2006, 18:43   #11
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Vasec87
ma il terzo è impossibile per me visto che ancora non so fare l'ordinamento dei vettori
Di algoritmi di ordinamento ce ne sono svariati. Uno abbastanza semplice (che però non è molto efficiente) è il "bubble-sort". Nel tuo caso credo che sia più che sufficiente.
Leggi qui: http://it.wikipedia.org/wiki/Bubble_sort
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 08:22   #12
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
ECCO QUELLO CHE SONO RIUSCITO A FARE DEL SECONDO ESERCIZIO, ORA COME DEVO PROCEDERE, HO LETTO IL TUO SUGGERIMENTO MA NON SO APPLICARLO A QUELLO CHE HO GIA FATTO IO

#include <stdio.h>

int main()
{

int a[1000];
int b[1000];
int f=0;
int g=0;
int h=0;
int z=0;

scanf("%d", &f);

for(g=0;g<f;g++){
scanf("%d", &a[g]);
}
scanf("%d", &h);

for(z=0;z<h;z++){
scanf("%d", &b[z]);
}





}
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 09:22   #13
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Vasec87
ECCO QUELLO CHE SONO RIUSCITO A FARE DEL SECONDO ESERCIZIO, ORA COME DEVO PROCEDERE, HO LETTO IL TUO SUGGERIMENTO MA NON SO APPLICARLO A QUELLO CHE HO GIA FATTO IO
Ok, fin qui ci siamo ...
Comunque usa dei nomi più chiari per le variabili. Non devi mica per forza usare tutte le lettere dell'alfabeto fino alla z!
Potresti usare 'na' e 'nb' per tenere il numero degli elementi e poi una generica 'i' per i cicli for.

Per l'algoritmo, l'ho già spiegato sopra ma forse non in modo molto chiaro: l'obiettivo è quello di scoprire se un elemento di un array non c'è nell'altro array. Per questo motivo, devi fare 2 test: a[] contro b[] e poi il contrario b[] contro a[].
Vediamo il primo step: devi scansionare tutti gli elementi dell'array 'a'. Per ogni elemento, fai un ciclo for innestato per andare a vedere se c'è nell'array 'b'. Devi anche tenere un flag per sapere se un elemento è stato trovato o meno.

tradotto in pseudo-codice:
Codice:
ciclo da i=0 a i=na-1
    flag = 0

    ciclo da j=0 a j=nb-1
        se a[i] uguale a b[j] allora
            flag = 1
        fine se
    fine ciclo

    se flag uguale a 0 allora
        esci dal ciclo
    fine se
fine ciclo
Lo so, come pseudo codice non è il massimo ma almeno dovrebbe dare l'idea.

Se alla fine di questo codice, flag vale 0, vuol già dire che non sono simili e quindi puoi anche non fare l'altro step al contrario.

Provaci e poi vediamo.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 09:37   #14
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
prima di provare il tuo suggerimento vorrei farti vedere quello che ho fatto io, penso che vada bene ma non so cosa stampare alla fine. dacci un'occhiata

#include <stdio.h>

int main()
{

int a[1000];
int b[1000];
int f=0;
int g=0;
int h=0;
int z=0;
int output=0;
int cont=0;
int uguali=1;
int j=0;
int i=0;

scanf("%d", &f);

for(g=0;g<f;g++){
scanf("%d", &a[g]);
}
scanf("%d", &h);

for(z=0;z<h;z++){
scanf("%d", &b[z]);
}

if(f<h) //con f size di a e h size di b
{
for(j=0;j<h;j++)
{
i=0;
while(i<f&&uguali==0)
{
if(a[i]==b[j])
{
uguali=1;
cont++;
}
i++;
}
}
if(cont=h)
output=1;


}
else
{
for(j=0;j<f;j++)
{
i=0;
while(i<h&&uguali==0)
{
if(a[i]==b[j])
{
uguali=1;
cont++;
}
i++;
}
}
if(cont=f)
output=1;
}
while(getchar() != '\n');
printf("Premere INVIO per continuare...");
getchar();

}
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 09:39   #15
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
per provare il tuo dovrei rifare tutto da capo perchè co tutti sti nomi non mi ci trovo piu, cerca di vedere se il mio è giusto
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 09:53   #16
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Vasec87
per provare il tuo dovrei rifare tutto da capo perchè co tutti sti nomi non mi ci trovo piu
Appunto: metti dei nomi più chiari!!!!

Quote:
Originariamente inviato da Vasec87
cerca di vedere se il mio è giusto
Già non capisco perché fai un test if(f<h) che serve praticamente a nulla.

Inizia a fare il primo step: a[] contro b[]. Fai un ciclo for con dentro un altro ciclo for.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 10:06   #17
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
ma non so cosa scriverci,

per esempio che intendi per scansionare
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 10:15   #18
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Vasec87
ma non so cosa scriverci,

per esempio che intendi per scansionare
Ammesso di usare dei nomi più validi, per esempio:
Codice:
int arr_a[1000];
int arr_b[1000];
int na, nb, ia, ib;

....input....

for (ia = 0; ia < na; ia++)
{
    ....

    for (ib = 0; ib < nb; ib++)
    {
        ....
    }

    ....
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 10:17   #19
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
ci provo
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2006, 10:22   #20
Vasec87
Member
 
Iscritto dal: Aug 2006
Messaggi: 177
#include <stdio.h>

int main()
{
int arr_a[1000];
int arr_b[1000];
int na, nb, ia, ib;

scanf("%d", &na);
for(ia=0;ia<na;ia++){
scanf("%d", &arr_a[ia]);}
scanf("%d", &nb);
for(ib=0;ib<nb;ib++){
scanf("%d", &arr_b[ib]);}
for (ia = 0; ia < na; ia++)
{




COME SI CONTINUA?
Vasec87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Reddit punterà sull'AI per miglio...
Samsung ha obiettivi molto ambiziosi per...
I produttori non faranno sconti sulle me...
Ubisoft potrebbe cedere pezzi se il pian...
Qualcomm potrebbe utilizzare una tecnolo...
Starfield per Nintendo Switch 2 potrebbe...
Un MacBook Pro a -300€, i MacBook Air M4...
Amazon abbassa i prezzi sugli iPhone: sc...
Amazon, ancora sconti sugli smartphone A...
iPhone Air 2 'riciclerà' alcuni c...
Offerta Amazon da non perdere: lo speake...
Nioh 3 debutta alla grande su Steam: pri...
Al centro della Via Lattea ci potrebbe e...
Elon Musk ora guarda alla Luna: SpaceX p...
La Cina ha lanciato nuovamente lo spazio...
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: 02:37.


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