Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-08-2007, 10: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, 11:31   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
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, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2007, 11: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


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
L'intelligenza artificiale ha reso pi&ug...
L'intelligenza artificiale per lo svilup...
Il sistema di verifica dell'identit&agra...
Ora è ufficiale: Samsung sta per ...
Motorola Edge 70 Fusion: ecco le specifi...
8TB a meno di 170€: il richiestissimo Ha...
Il nuovo MacBook 'low cost' arriver&agra...
Pokémon Rosso Fuoco e Verde Fogli...
Risparmiare con le offerte Amazon: weeke...
Gli Xiaomi 17 arrivano a fine febbraio, ...
48.000 Pa a poco più di 100€: la ...
PC più potente, meno spesa: su Amazon to...
Con 2 acquisti si ottiene il 40% di scon...
Blocco VPN in Spagna durante le partite ...
ECOVACS DEEBOT T30C OMNI GEN2 torna a 34...
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: 00:08.


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