DOMANDA Linguaggio C,come faccio a implementare il calcolo del massimo e del minimo di questo array,all'interno della stessa funzione esterna al main?

Giacomo Furlan

Utente Attivo
351
87
CPU
AMD Ryzen 5900x
Dissipatore
BeQuiet! SilentLoop 2 360mm
Scheda Madre
Gigabyte X470 AORUS Gaming 7 WIFI AMD X470
HDD
Crucial P5 Plus 2 TB PCIe M.2 2280SS
RAM
Patriot Viper Steel RAM DDR4 3600 Mhz 64GB (2x32GB) C18
GPU
MSI GeForce RTX 2080 Gaming X Trio
Audio
SteelSeries Arctis 9
Monitor
Alienware AW3423DWF
PSU
EVGA SuperNOVA 650 G3, 80 Plus GOLD 650W
Case
Sharkoon TG5
OS
Windows 11, Fedora 36
@Andretti60 dato il primo codice era plausibile che fosse parte dell'esercizio, non essendo diversamente specificato, ti pare? Nessun bisogno di scaldarsi.

E proprio per essere incisi, "implementi una funzione che immesso come input un vettore e la sua dimensione, restituisca [...]" in italiano vuol dire che i parametri sono due, non quattro. È stata una banale incomprensione, si poteva riformulare in "implementi una funzione che immesso come input un vettore, la sua dimensione e due parametri per puntatore, modifichi gli ultimi due assegnando come valori il massimo ed il minimo". Certo forse chi ha scritto l'esercizio voleva che si arrivasse all'utilizzo dei puntatori, ma ciò non di meno non rende giustizia alla lingua italiana.
 
  • Mi piace
Reazioni: Sysken

BAT

Moderatore
Staff Forum
Utente Èlite
22,948
11,581
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
Secondo me "restituire tramide 2 parametri della funzione" significa semplicemente (e come avete già suggerito) che i parametri di maxmin devono essere 4, non 2: ovviamente il vettore e la sua dimensione, poi 2 paramatri passati per riferimento (puntatore) che modifichino 2 variabili esterne. Poiché il risultato è la modifica dei parametri passati per riferimento, la funzione può essere dichiarata void.
EDIT
rileggendo gli interventi, mi pare che @Giacomo Furlan abbia già scritto l'intestazione
 

Davide9898

Nuovo Utente
17
0
Due punti. Primo, per favore NON suggeriti metodi che non rispondono ai requisiti dell'esercizio, che sono ben precisi:


Secondo, la soluzione non e' in generale corretta perche' le variabili min e max vengono inizializzate con valori arbitrari. Non funziona se inserisco nel vettore iniziale per esempio -1 e 9999999. Il quesito dell'esercizion non specifica i limite dei valori del vettore. Basta una piccola modifica, assgnando valori opportuni. Pensaci su, prima che ti diamo suggerimenti.

Ok,ho inoltre dichiarato le variabili intere MAX e MIN ,adesso penso proprio che il programma funge ed è implementato come l'esercizio richiede.Grazie!!
 

Giacomo Furlan

Utente Attivo
351
87
CPU
AMD Ryzen 5900x
Dissipatore
BeQuiet! SilentLoop 2 360mm
Scheda Madre
Gigabyte X470 AORUS Gaming 7 WIFI AMD X470
HDD
Crucial P5 Plus 2 TB PCIe M.2 2280SS
RAM
Patriot Viper Steel RAM DDR4 3600 Mhz 64GB (2x32GB) C18
GPU
MSI GeForce RTX 2080 Gaming X Trio
Audio
SteelSeries Arctis 9
Monitor
Alienware AW3423DWF
PSU
EVGA SuperNOVA 650 G3, 80 Plus GOLD 650W
Case
Sharkoon TG5
OS
Windows 11, Fedora 36
Quoto @Sysken: hai controllato? @Davide9898 ti ricordo che esistono delle costanti universali ed assolute che possono venirti in aiuto...
 

Sysken

Nuovo Utente
51
20
Oppure puoi anche assegnare alla variabile max/min il valore del primo elemento del vettore, per poi effettuare la ricerca, sempre accertandosi di non ricevere un vettore vuoto.
 
  • Mi piace
Reazioni: Andretti60 e BAT

BAT

Moderatore
Staff Forum
Utente Èlite
22,948
11,581
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
puoi anche assegnare alla variabile max/min il valore del primo elemento del vettore, per poi effettuare la ricerca, sempre accertandosi di non ricevere un vettore vuoto.
:ok:
...e in questo modo il programma è indipendente dal tipo di dato utilizzato, evitando l'uso di costanti
 
  • Mi piace
Reazioni: Andretti60

Andretti60

Utente Èlite
6,440
5,091
@Andretti60 dato il primo codice era plausibile che fosse parte dell'esercizio, non essendo diversamente specificato, ti pare? Nessun bisogno di scaldarsi.

E proprio per essere incisi, "implementi una funzione che immesso come input un vettore e la sua dimensione, restituisca [...]" in italiano vuol dire che i parametri sono due, non quattro. È stata una banale incomprensione, si poteva riformulare in "implementi una funzione che immesso come input un vettore, la sua dimensione e due parametri per puntatore, modifichi gli ultimi due assegnando come valori il massimo ed il minimo". Certo forse chi ha scritto l'esercizio voleva che si arrivasse all'utilizzo dei puntatori, ma ciò non di meno non rende giustizia alla lingua italiana.
Veramente no, non vi è nulla di sbagliato nel testo, che è molto chiaro. Dice di usare due parametri di ingresso e due parametri di uscita, per un totale di quattro parametri.
Ecco perché ho contestato (non mi sono scaldato per nulla) l'uso di vettori e strutture per ritornare i valori calcolati. Non parlerò italiano da più di venti anni :) ma lo so ancora leggere. Quello di capire che i parametri di ritorno debbano essere passati per referenza (quindi come puntatori) fa parte dell'esercizio.
 

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili