Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-08-2007, 09:45   #1
xbubbax
Senior Member
 
Iscritto dal: Apr 2007
Messaggi: 381
[C]Funzione con struttura

Ho fatto questo esercizio con una funzione che restituisce una struttura per calcolare il minimo e massimo di un vettore ma come sempre succedere per i miei programmi non funzionano

Codice HTML:
#include <stdio.h>

struct minmax{
       int min;
       int max;
       };
struct minmax vett(int v[], int n);
int main(){
           int n=10;
           int v[10]={1,4,3,6,5,3,7,5,3,6};
           int c;
           vett(v,n);
           printf("%d\n", a.min);
           printf("%d", a.max);
           
           }    
struct minmax vett(int v[], int n){
                                   int i;
                                   int min;
                                   int max;
                                   
                                   struct minmax a;     
                                   if(n==1){
                                            a.min=v[0];
                                            a.max=v[0];
                                            }
                                   min=v[0];
                                   else for(i=1;i<n;i++){
                                        if(v[i]<min){
                                                     min=v[i];}}
                                   max=v[0];
                                   for(i=1;i<n;i++){
                                                    if(v[i]>max){
                                                                 max=v[i];}}
                                   a.min=min;
                                   a.max=max;
                                   
                                   return a;}
xbubbax è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2007, 10:31   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da xbubbax Guarda i messaggi
Ho fatto questo esercizio con una funzione che restituisce una struttura per calcolare il minimo e massimo di un vettore ma come sempre succedere per i miei programmi non funzionano
Nel main chiami vett ma senza usare il suo valore di ritorno (e allora a che serve?). La funzione vett invece è molto migliorabile: non servirebbero nemmeno le singole variabili min/max (c'è già la struct, no?), e invece di 2 cicli se ne può fare solo 1 (tra l'altro c'è un else di troppo prima del for).

In sostanza si può fare così:
Codice:
#include <stdio.h>

struct minmax
{
    int min;
    int max;
};

struct minmax minmax_vett (int v[], int n)
{
    struct minmax mm = { 0, 0 };
    int i;

    if (n > 0)
        mm.min = mm.max = v[0];

    for (i = 0; i < n; i++)
    {
        if (v[i] < mm.min)
            mm.min = v[i];
        if (v[i] > mm.max)
            mm.max = v[i];
    }

    return mm;
}

int main (void)
{
    int v[10] = {1,4,3,6,5,3,7,5,3,6};
    struct minmax mm;

    mm = minmax_vett (v, sizeof(v)/sizeof(v[0]));
    
    printf ("min=%d  max=%d\n", mm.min, mm.max);

    return 0;
}
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2007, 10:35   #3
xbubbax
Senior Member
 
Iscritto dal: Apr 2007
Messaggi: 381
Si vabbè, tutti i miei programmi sono molto migliorabili, ma mi interessava soprattutto sapere stampavo esattamente il risultato, cioè come si ritorna un valore di struttura e come si stampa nella printf, quando la struttura è usata nella funzione
xbubbax è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Dopo gli unicorni, arrivano i "soon...
Europei sempre più diffidenti ver...
L'acquisto di Steam Machine è un ...
Lenovo Prime Day: i 6 migliori sconti (a...
CATL non riesce a superare la fase proto...
Mythos, il caso si complica: causa contr...
Il pazzesco nuovo record di Xiaomi YU7 G...
OneXPlayer 3: un PC gaming in formato Ni...
Climate.us riporta online i 15 anni di C...
Hisense da 58 pollici sotto i 300€ fa tr...
Windows 11 26H2: cosa cambia e chi resta...
SpaceX ha lanciato la sua prima capsula ...
Il prezzo medio di vendita degli smartph...
Prime Day robot tagliaerba: MAMMOTION, D...
Recensione Google Home Speaker: Gemini s...
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: 06:57.


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