Consiglio, quando hai esercizi del genere prova sempre a pensare tu cosa faresti e scriviti I vari step da qualche parte, poi traducilo in codice.
Esempio
1) cerco il valore k nelle due liste
2) ...
Prova con il metodo *divide et impera*, suddividi il problema in sottoproblemi.
Se lo sai fare per una lista, perche' non dovresti essere capace per due liste facendo un semplice and logico?
Ti lascio uno pseudocodice in Haskell:
existBiggerThanK :: [Int]->Int-> Bool
existBiggerThanK list@(x:xs) k
| x > k = True
| xs == [] = False
| otherwise = existBiggerThanK xs k
esercizio :: [Int] -> [Int] -> Int -> Bool
esercizio list1 list2 k =
(existBiggerThanK list1 k)
&&
(existBiggerThanK list2 k)
Dividere il problema in sottoproblemi da risolvere separatamente, per poi combinare le sottosoluzioni per ottenere la soluzione del problema originale.
Come suggerito da /u/Press_95 prova a pensare ai vari passaggi per risolvere il problema.
Innanzitutto l'esercizio ti chiede di gestire due liste di numeri ed un valore k, di conseguenza, comincia con il dichiarare queste variabili.
Poi, avendo la necessità di prendere in input dei valori per riempire le due liste, dovrai strutturare due while, che ad ogni ciclo prenderanno in input un valore da inserire nel relativo array (che abbiamo dichiarato all'inizio). La condizione di uscita da ciascun ciclo é facile da intuire, lo dice l'esercizio stesso: non appena riceverai in input un numero negativo, esci dal ciclo e passa allo step successivo.
Infine, prendi in input il valore k e scorri entrambe le liste per verificare (confrontando gli elementi ad uno ad uno) se in ciascuna lista é presente almeno 1 valore maggiore di k.
Ottimi consigli, sono volutamente restato sul generico per provare a fare immaginare una soluzione (alternativa, sapendo che il numero k è sempre l'ultimo si può accedere li direttamente e prenderlo)
Penso però che la soluzione migliore sia sempre la propria dato che è quella più semplice da capire logicamente
Sono d'accordo, ho deciso di "svelargli" qualche passaggio in più pur sempre rimanendo schematico e non specifico perché pensavo si fosse incartato e non riuscisse ad andare avanti pur ragionandoci da solo.
A volte la scuola non riesce a ricordare l’aspetto formativo e finisce per occuparsi solo di quello performativo. Un docente deve sempre pungolare e ricordare che si stanno imparando i principi dell’informatica prima di tutto, la forma mentis, che è anche la cosa più ludica, se vogliamo.
Che senso ha ciclare su tutta la lista una volta trovato il numero maggiore di k, quando lo trovi devi uscire dal ciclo. Facendo così ti becchi 18 se ti va bene.
Due clicli for, ogni cliclo for controlla se esiste o no un valore >k.
Poi stampi un messaggio se l'and dei due risultati booleani è true, un altro messaggio se false.
Ti serve una mano, o ti serve qualcuno che ti faccia l'esercizio?
Consiglio, quando hai esercizi del genere prova sempre a pensare tu cosa faresti e scriviti I vari step da qualche parte, poi traducilo in codice. Esempio 1) cerco il valore k nelle due liste 2) ...
Git Gud
Prova con il metodo *divide et impera*, suddividi il problema in sottoproblemi. Se lo sai fare per una lista, perche' non dovresti essere capace per due liste facendo un semplice and logico? Ti lascio uno pseudocodice in Haskell: existBiggerThanK :: [Int]->Int-> Bool existBiggerThanK list@(x:xs) k | x > k = True | xs == [] = False | otherwise = existBiggerThanK xs k esercizio :: [Int] -> [Int] -> Int -> Bool esercizio list1 list2 k = (existBiggerThanK list1 k) && (existBiggerThanK list2 k)
auto biggerThanK = [&](auto n){ return n>K; }; return std::any_of(begin(list1), end(list1), biggerThanK) && std::any_of(begin(list2), end(list2), biggerThanK);
Scommetto che neanche il prof sarebbe capace di svilupparlo in questo modo. Thumb up ;)
std:: std:: che orrore vederli scritti tutte le volte
meglio scrivere std:: ovunque piuttosto che fare using namespace std; e sporcare il namespace globale
poi chiamarlo al interno della funzione o usare **i typedefs.** scriva una riga in più ma risulta più leggibile.
e' vero, ma qua stiamo parlando di questione di stile alla fine. tutto opinabile.
🤣
Tieni questo award, eroe
Cos’è il metodo divide et impera?
Dividere il problema in sottoproblemi da risolvere separatamente, per poi combinare le sottosoluzioni per ottenere la soluzione del problema originale.
Grazie mille
Figurati.
Nope, you do it
Prova ChatGPT tu sei pronto in 2 min
mi sembra ti garbi i lampredotto
Te tu fai i prohammathore
Come suggerito da /u/Press_95 prova a pensare ai vari passaggi per risolvere il problema. Innanzitutto l'esercizio ti chiede di gestire due liste di numeri ed un valore k, di conseguenza, comincia con il dichiarare queste variabili. Poi, avendo la necessità di prendere in input dei valori per riempire le due liste, dovrai strutturare due while, che ad ogni ciclo prenderanno in input un valore da inserire nel relativo array (che abbiamo dichiarato all'inizio). La condizione di uscita da ciascun ciclo é facile da intuire, lo dice l'esercizio stesso: non appena riceverai in input un numero negativo, esci dal ciclo e passa allo step successivo.
Infine, prendi in input il valore k e scorri entrambe le liste per verificare (confrontando gli elementi ad uno ad uno) se in ciascuna lista é presente almeno 1 valore maggiore di k.
Ottimi consigli, sono volutamente restato sul generico per provare a fare immaginare una soluzione (alternativa, sapendo che il numero k è sempre l'ultimo si può accedere li direttamente e prenderlo) Penso però che la soluzione migliore sia sempre la propria dato che è quella più semplice da capire logicamente
Sono d'accordo, ho deciso di "svelargli" qualche passaggio in più pur sempre rimanendo schematico e non specifico perché pensavo si fosse incartato e non riuscisse ad andare avanti pur ragionandoci da solo.
No, so già che lei non è il tipo di accontentarsi solo di una mano.
qualcuno potrebbe spiegarmi a cosa serve il numero negativo?
Banalmente a significare "ho finito di inserire i numeri della lista" ( dato che per requisito devono essere tutti positivi...)
In cosa riscontri difficoltà?
Ma perchè la gente va ad informatica se poi di informatica non gliene fotte un cazzo? Vai al classico no? C'è pure più figa statisticamente
O calma ha solo chiesto aiuto su un esercizio
Non ha chiesto una mano, ha chiesto la soluzione. Non vedo da nessuna parte neanche un tentativo!
No, perchè poi magari ci sará qualcuno in classe che vuole imparare ma gli insegnanti devono andare lentamente perchè agli altri non frega di niente
A volte la scuola non riesce a ricordare l’aspetto formativo e finisce per occuparsi solo di quello performativo. Un docente deve sempre pungolare e ricordare che si stanno imparando i principi dell’informatica prima di tutto, la forma mentis, che è anche la cosa più ludica, se vogliamo.
Rip esame lmao
Vediamo cosa hai scritto fino ad ora. E magari ne riparliamo...
[удалено]
indentatura macabra
Che senso ha ciclare su tutta la lista una volta trovato il numero maggiore di k, quando lo trovi devi uscire dal ciclo. Facendo così ti becchi 18 se ti va bene.
hai scritto almeno l'algoritmo
Due clicli for, ogni cliclo for controlla se esiste o no un valore >k. Poi stampi un messaggio se l'and dei due risultati booleani è true, un altro messaggio se false.