Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
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.
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


DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
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...
Xbox Next Gen, non chiamatela console: s...
.Next On Tour Italia: innovazione, sempl...
PS Plus novembre: svelato in anticipo il...
'Gli elettroni sono il nuovo petrolio': ...
Amazon freme, non ce la fa ad aspettare ...
Hisense HS2100 240W a soli 75,90€ su Ama...
Addio personal trainer: il coach via AI ...
Creative reinventa il mito Sound Blaster...
Liquid Glass impatta sulla batteria degl...
Grokipedia di Elon Musk accusata di copi...
Google Pixel 9a scende a 382€ su Amazon:...
A 149€ il tablet senza compromessi: 1920...
11 accessori auto utilissimi in offerta ...
C'è un team italiano dietro gli a...
I prossimi iPad Pro avranno un component...
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: 12:02.


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