Torna indietro   Hardware Upgrade Forum > Software > Programmazione

FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III è la nuvoa fotocamera mirrorless pensata per chi si avvicina alla fotografia e ricerca una soluzione leggera e compatta, da avere sempre a disposizione ma che non porti a rinunce quanto a controllo dell'immagine.
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Da Las Vegas, la visione di Larry Ellison e la concretezza di Clay Magouyrk definiscono la nuova traiettoria di Oracle: portare l’intelligenza artificiale ai dati, non i dati all’intelligenza, costruendo un’infrastruttura cloud e applicativa in cui gli agenti IA diventano parte integrante dei processi aziendali, fino al cuore delle imprese europee
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1
Dalla precisione estrema dei componenti alla gestione digitale dei processi: come la piattaforma ServiceNow consente ad Aston Martin Aramco Formula One Team di ottimizzare risorse IT e flussi operativi in un ambiente dove ogni millesimo di secondo conta
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-05-2007, 14:50   #1
stgww
Senior Member
 
L'Avatar di stgww
 
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
[C] Ordinare gli Array

Ciao volevo sapere come si fà ad ordinare una array in C
Ho provato :
Codice:
for(k=0;k<(dim-1);k++){
        for(j=(k+1);k<=(dim-1);j++){
        if(f[k]>f[j]){
                      app=f[k];
                      f[k]=f[j];
                      f[k]=app;
                      }}}
ma poi cosa gli devo dire affinche me li scriva ordinati? (sto parlando di numeri)
P.S. dim indica il numero di elementi nell'array f
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca"
stgww è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2007, 14:57   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da stgww Guarda i messaggi
Codice:
for(k=0;k<(dim-1);k++){
        for(j=(k+1);k<=(dim-1);j++){
        if(f[k]>f[j]){
                      app=f[k];
                      f[k]=f[j];
                      f[k]=app;
                      }}}
Questo è il classico "bubble-sort". Tra l'altro non è corretto: nel for interno hai messo k<=(dim-1) ma dovrebbe essere j<=(dim-1). Poi l'ultima assegnazione dovrebbe essere f[j]=app;

Quote:
Originariamente inviato da stgww Guarda i messaggi
ma poi cosa gli devo dire affinche me li scriva ordinati? (sto parlando di numeri)
In che senso? Una volta eseguito il bubble-sort l'array è ordinato.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2007, 17:12   #3
stgww
Senior Member
 
L'Avatar di stgww
 
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
Dopo che li ho ordinati come li stampo a video?
P.S. Che differenza c'è tra una funzione e una procedura?
THX A LOT
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca"
stgww è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2007, 17:17   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da stgww Guarda i messaggi
Dopo che li ho ordinati come li stampo a video?
Fai un ciclo for e stampi con printf.

Quote:
Originariamente inviato da stgww Guarda i messaggi
P.S. Che differenza c'è tra una funzione e una procedura?
Stai parlando in generale o in modo specifico per un certo linguaggio/ambiente?
Comunque se n'era parlato in <questo> thread.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2007, 17:24   #5
stgww
Senior Member
 
L'Avatar di stgww
 
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
Quote:
Originariamente inviato da andbin Guarda i messaggi
Fai un ciclo for e stampi con printf.

Stai parlando in generale o in modo specifico per un certo linguaggio/ambiente?
Comunque se n'era parlato in <questo> thread.
ok per procedure e funzioni( domani mi interroga e se mi chiede la differenza tra una procedura e una funzione sò che dirgli )

Per la stampa: va bene per il for e printf, ma il mio dubbio era a quale variabile dovevo fare riferimento
Codice:
#include <stdio.h>
#include <stdlib.h>
#define dim 3
int main(int argc, char *argv[])
{
   float f[dim];
   int i, j, k, app;
   for(i=o;i<dim;i++){
                      printf("Inserisci un Valore\n");
                      scanf("%f", &f[i]);
                      }
   for(k=0;k<(dim-1);k++){
                          for(j=(k+1);j<=(dim-1);j++){
                                                      if(f[k]>f[j]){
                                                                    app=f[k];
                                                                    f[k]=f[j];
                                                                    f[j]=app;
                                                                    } } }
                                                                    
                                                                    
                                                                    
   
  
  system("PAUSE");	
  return 0;
}
f[i], f[k], o f[j]??
Thx
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca"
stgww è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2007, 17:32   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da stgww Guarda i messaggi
Per la stampa: va bene per il for e printf, ma il mio dubbio era a quale variabile dovevo fare riferimento
Fai un ciclo for come hai fatto per l'input, solo che userai printf invece di scanf. L'array si chiama 'f' e per l'indice usa la variabile che vuoi. Hai usato 'i' nel primo for, riusa pure 'i' per la stampa.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2007, 18:00   #7
stgww
Senior Member
 
L'Avatar di stgww
 
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
Quote:
Originariamente inviato da andbin Guarda i messaggi
Fai un ciclo for come hai fatto per l'input, solo che userai printf invece di scanf. L'array si chiama 'f' e per l'indice usa la variabile che vuoi. Hai usato 'i' nel primo for, riusa pure 'i' per la stampa.
Buono, ora sò utilizzare gli Array, faccio domanda alla M$
Ora mi ripasso i sottoprogarmmi, ma non mi sembra che ci siano difficoltà esagerate:
In pratica (correggimi se sbaglio) bisogna dichiarare il sottoprogramma con void/tipo base _ in base a se restituisce valori o no
nome sotto programma _ come ci pare
(xxx x) _ parentesi vuote se non restituisce niente, tipobase-nome variabile se vogliamo che restituisce qualcosa.

Per richiamarlo basta scrivere il nome del sotto programma.

alla fine se restituisce qualcosa bisogna scrivere
return nome variabile
altrimenti non si scrive niente e si finisce così

se vogliamo cambiare il nome della variabile d'uscita basta che quando lo richiamiamo scriviamo
niome sottoprogramma (nome nuova variabile)

Giusto? Manca qualcosa di teoria?
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca"
stgww è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2007, 18:11   #8
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da stgww Guarda i messaggi
Ora mi ripasso i sottoprogarmmi
Chiamale "funzioni" .... perché è il termine tipico usato in C.

Quote:
Originariamente inviato da stgww Guarda i messaggi
Giusto? Manca qualcosa di teoria?
Se proprio vogliamo fare i fini, il return può essere usato anche in una funzione che ha tipo di ritorno 'void', chiaramente senza specificare un valore dopo il return.

Es.
Codice:
void func (int x)
{
    if (x < 0)
        return;    /* esce subito */

    blabla......
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 30-05-2007, 18:18   #9
stgww
Senior Member
 
L'Avatar di stgww
 
Iscritto dal: May 2006
Città: Monza
Messaggi: 3686
Grazie di tutto, adesso sono rponte per affrontare le miglie insidie del proff
__________________
" Disprezzato e reietto dagli uomini, uomo dei dolori che ben conosce il patire, come uno davanti al quale ci si copre la faccia, era disprezzato e non ne avevamo alcuna stima." ... "Maltrattato, si lasciò umiliare e non aprì la sua bocca; era come agnello condotto al macello, come pecora muta di fronte ai suoi tosatori, e non aprì la sua bocca"
stgww è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1 Micron e millisecondi: la piattaforma ServiceNow...
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo Dreame Aqua10 Ultra Roller, la pulizia di casa c...
Tesla sotto indagine per la modalit&agra...
EOLO attiva la rete FWA 5G fino a 1 Gbps...
Nasce GOG Patrons: donazioni volontarie ...
Scope elettriche ai minimi: con doppio ...
Galaxy S25 Edge 5G a 639€ su Amazon: tit...
MacBook Pro M5: il teardown rivela picco...
Samsung Odyssey G30D oggi costa 87,5€, v...
4 smartphone 8/256GB a basso prezzo: rea...
Von der Leyen spiega RESourceEU: l'Europ...
YouTube, smantellata la "Ghost Netw...
Ferrari F76: la prima hypercar NFT segna...
Am9080, sono passati 50 anni dal primo p...
Inquinamento record a Nuova Delhi: il go...
Il Giappone e il 'fetish' per i dischi o...
AMD presenterà il Ryzen 5 7500X3D...
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: 10:47.


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