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...
Il telescopio spaziale ESA Euclid ha fot...
L'astronauta ESA Sophie Adenot ha provat...
Leica SL3-P: la full frame più ev...
All'interno della capsula Starfall di Sp...
8BitDo Arcade Controller Pro è il...
Dead or Alive 6 Last Round: una chiusura...
DXC e Anthropic insieme per portare l'IA...
Lenovo presenta nuove soluzioni per l'IA...
OVHcloud potenzia la Quantum Platform: i...
Octopus Energy lancia Nook, la sua gamma...
IBM presenta il primo chip al mondo sott...
Qualcomm Dragonfly debutta nel settore d...
Scopa elettrica Proscenic P11 Ultra+ a 8...
Napoli capitale italiana del calcolo qua...
Emma avrebbe dovuto contribuire alla sov...
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: 22:33.


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