ARRAY IN C++, Matematica primo anno
Salve,
avendo perso delle lezioni di Laboratorio di Programmazione e Calcolo, sto incontrando delle difficoltà nello svolgere alcuni esercizi. E spero che qualcuno di voi mi possa venire in aiuto.
Devo scrivere un programma C++ che memorizzi dei numeri interi in un array e li divida in pari e dispari, stampandoli sul video separatamente. Mi è stato detto di usare dei contatori (?) del tipo p[contp] per i pari e d[contd] per i dispari, ma non so proprio come fare...
avendo perso delle lezioni di Laboratorio di Programmazione e Calcolo, sto incontrando delle difficoltà nello svolgere alcuni esercizi. E spero che qualcuno di voi mi possa venire in aiuto.
Devo scrivere un programma C++ che memorizzi dei numeri interi in un array e li divida in pari e dispari, stampandoli sul video separatamente. Mi è stato detto di usare dei contatori (?) del tipo p[contp] per i pari e d[contd] per i dispari, ma non so proprio come fare...
Risposte
Sezione sbagliata (esiste la sezione di informatica). Un contatore è semplicemente una variabile che conta o volendo che viene incrementata di 1 ogni volta che accade un certo evento (in questo caso ho trovato un pari o ho trovato un dispari). Il termine usata in quella frase mi sembra inappropriato anche perché mi sembra che quei due siano array anche se in genere con contatore si intende una variabile di tipo unsigned int o equivalente.
Al di là dell'improprietà del linguaggio (io avrei usato array temporanei o qualcosa del genere). Io penso che questo uso dei suggerimenti da parte dei professori stia ultimamente producendo effetti negativi (mi sembra che non vi faccia ragionare sul problema). Se tu avessi una lista di interi messi uno sull'altro e dovessi poi esporre a voce i numeri positivi e quelli negativi (e potessi leggere la lista una sola volta) come faresti? Tenendo conto che hai un foglio su cui scrivere.
Prova a riprodurre questo metodo in termini di elenco di operazioni (come una ricetta) e poi rendila un programma.
Al di là dell'improprietà del linguaggio (io avrei usato array temporanei o qualcosa del genere). Io penso che questo uso dei suggerimenti da parte dei professori stia ultimamente producendo effetti negativi (mi sembra che non vi faccia ragionare sul problema). Se tu avessi una lista di interi messi uno sull'altro e dovessi poi esporre a voce i numeri positivi e quelli negativi (e potessi leggere la lista una sola volta) come faresti? Tenendo conto che hai un foglio su cui scrivere.
Prova a riprodurre questo metodo in termini di elenco di operazioni (come una ricetta) e poi rendila un programma.
Salve Very25,
per quel poco che mi ricordo io ti direi di fare in questo modo: hai $n$ interi, sapendo che un intero è pari se e soltanto se è divisibile per $2$ applichi tale proprietà nel frattempo crei, o dichiari, due array con dimensione al più uguale ad $n$, uno lo chiami "array_pari" e l'altro "array_dispari", ed associ ad ogni casella di questi array i relativi numeri pari e dispari e dopo li stampi sul video. Il problema forse si riscontrerebbe se $n-3$,o altro valore, interi sono tutti pari, o dispari, allora "array_dispari", o "array_pari", e solamente di $3$, o altro valore, dispari, o pari, ma siccome lo hai dichiarato con dimensione $n$, e quindi vi è il rischio che nella stampa venga stampato lo spazio, i contatori, come li chiami tu anche se io li chiamerei variabili ausiliarie che vengono incrementati di $1$ ogni qualvolta incontrano il relativo numero pari o relativo numero dispari, ti serviranno per impostare adeguatamente la stampa, che verrà fatta tramite un ciclo iterativo, ovvero il "valore finale" della variabile iterativa. Spero di essere stato preciso, se sono stato poco comprensivo perdonatemi..
Cordiali saluti
"Very25":
Salve,
avendo perso delle lezioni di Laboratorio di Programmazione e Calcolo, sto incontrando delle difficoltà nello svolgere alcuni esercizi. E spero che qualcuno di voi mi possa venire in aiuto.
Devo scrivere un programma C++ che memorizzi dei numeri interi in un array e li divida in pari e dispari, stampandoli sul video separatamente. Mi è stato detto di usare dei contatori (?) del tipo p[contp] per i pari e d[contd] per i dispari, ma non so proprio come fare...
per quel poco che mi ricordo io ti direi di fare in questo modo: hai $n$ interi, sapendo che un intero è pari se e soltanto se è divisibile per $2$ applichi tale proprietà nel frattempo crei, o dichiari, due array con dimensione al più uguale ad $n$, uno lo chiami "array_pari" e l'altro "array_dispari", ed associ ad ogni casella di questi array i relativi numeri pari e dispari e dopo li stampi sul video. Il problema forse si riscontrerebbe se $n-3$,o altro valore, interi sono tutti pari, o dispari, allora "array_dispari", o "array_pari", e solamente di $3$, o altro valore, dispari, o pari, ma siccome lo hai dichiarato con dimensione $n$, e quindi vi è il rischio che nella stampa venga stampato lo spazio, i contatori, come li chiami tu anche se io li chiamerei variabili ausiliarie che vengono incrementati di $1$ ogni qualvolta incontrano il relativo numero pari o relativo numero dispari, ti serviranno per impostare adeguatamente la stampa, che verrà fatta tramite un ciclo iterativo, ovvero il "valore finale" della variabile iterativa. Spero di essere stato preciso, se sono stato poco comprensivo perdonatemi..


Cordiali saluti
Salve vict85,
correggimi se sbaglio, in sostanza gli hai chiesto una pseudocodofica??
Cordiali saluti
"vict85":
Se tu avessi una lista di interi messi uno sull'altro e dovessi poi esporre a voce i numeri positivi e quelli negativi (e potessi leggere la lista una sola volta) come faresti? Tenendo conto che hai un foglio su cui scrivere.
Prova a riprodurre questo metodo in termini di elenco di operazioni (come una ricetta) e poi rendila un programma.
correggimi se sbaglio, in sostanza gli hai chiesto una pseudocodofica??
Cordiali saluti
Si e no. Gli ho chiesto di ragionare sul problema come se lui fosse il computer ignorando il suggerimento. Io penso che se uno non capisce un suggerimento allora sia meglio ignorarlo e provare a farlo da soli. Se non altro ti rende più comprensibile il suggerimento una volta che ci hai ragionato su. I problemi così semplici comunque non richiedono suggerimenti per essere svolti.
Salve vict85,
condivido
Cordiali saluti
"vict85":
Si e no. Gli ho chiesto di ragionare sul problema come se lui fosse il computer ignorando il suggerimento. Io penso che se uno non capisce un suggerimento allora sia meglio ignorarlo e provare a farlo da soli. Se non altro ti rende più comprensibile il suggerimento una volta che ci hai ragionato su. I problemi così semplici comunque non richiedono suggerimenti per essere svolti.
condivido


Cordiali saluti