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 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


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...
Cyberpunk 2077 in versione PC su smartph...
BYD si gioca un grosso jolly: pronta Rac...
Samsung annuncia l'arrivo in Italia dei ...
Offerta lancio Pixel 10a: come ottenere ...
Google presenta Pixel 10a: poche le novi...
Caos F1 2026: 14 monoposto senza omologa...
Tesla festeggia il primo Cybercab prodot...
Desktop piccolo e potente? NZXT H2 Flow ...
Polestar spinge sull'acceleratore: arriv...
Nuovo record mondiale nel fotovoltaico: ...
L'ultimo baluardo cade: fine supporto pe...
'Il mondo non ha mai visto nulla di simi...
La Commissione europea mette sotto indag...
Arriva il primo computer quantistico ad ...
'Se lavori al PC sei a rischio': la prev...
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: 18:02.


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