Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Ordinamento

  1. #1

    Ordinamento

    a scuola mi hanno dato un prog da fare di sto tipo!

    scrivere un programma che richieda in ingresso 3 numeri e visualizzarli in ordine decrescente!

    soluzioni per ordine decrescente ?
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  2. #2
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    ti interessa il semplice algoritmo o in un linguaggio specifico?
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nè quando nè da dove,
    t'amo direttamente senza problemi nè orgoglio:
    così ti amo perchè non so amare altrimenti

  3. #3
    se usi il C++ puoi fare il tutto in maniera quasi automatica:

    codice:
    #include <vector>
    #include <algorithm> 
    using namespace std
    ...
    int a=3,b=66,c=1; //i tuoi 3 valori
    vector<int> vec;
    
    
    
    vec.push_back(a);  //inserisci i num nel vettore
    vec.push_back(b);
    vec.push_back(c);
    
    sort(vec.begin(), vec.end()); // Metti in ordine crescente
    
    vec.reverse(); //diviene decrescente
    Non è l'approccio migliore x un problema semplice (uso delle std ingrandisce il programma di molto) ma come ho detto è praticamente automatico, niente giochini con cicli e array.

  4. #4
    se vuoi ordinare dei numeri in C potresti inserirli in un vettore ed usare l'algoritmo bubble sort che è fatto apposta per ordinare i dati.

    il codice importante per bubble sort è questo:

    codice:
    if(vettore[i] > vettore[i+1]) {
            hold = vettore[i+1];
            vettore[i+1] = vettore[i];
            vettore[i] = hold;
    praticamente effettua un banale confronto tra gli elementi di un vettore ed usa la variabile hold di tipo int per salvare l'elemento del vettore e non perderlo durante lo scambio.
    L'algoritmo effettua un numero di confronti pari ad (n - 1), quindi se hai tre numeri ti basta fare due confronti
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  5. #5
    potreste continuare a rispondere con tutti i linguaggi che conoscete :rollo: finchè non dice per che linguaggio gli serve non mi pare abbia molto senso continuare
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  6. #6
    si però dato che la domanda è posta in modo generale noi rispondiamo in modo generale
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  7. #7
    mi serve il linguaggio C.
    cmq premetto che ho cominciato le lezioni da una settimana e nn sono molto pratico!
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  8. #8
    se hai già fatto i vettori allora puoi usare l'algoritmo bubble sort, è facile da capire e da implementare... ti porto qui un esempio che ho trovato su google, credo che funzioni:
    codice:
    #include <stdlib.h>
    #include <stdio.h>
    #include <time.h>
    
    #define ARRAY_SIZE 20
    
    void print_array(int *array) {
      int x;
      for(x = 0; x < ARRAY_SIZE; x++) {
        if(x != ARRAY_SIZE-1)
          fprintf(stdout, "%d, ", array[x]);
        else
          fprintf(stdout, "%d\n", array[x]);
      }
    }
    
    int main() {
      int iarray[ARRAY_SIZE];
      int x, y, holder;
    
      // Seed rand()
      srand((unsigned int)time(NULL));
    
      for(x = 0; x < ARRAY_SIZE; x++)
        iarray[x] = (int)(rand() % 100);
    
      fprintf(stdout, "Before Sort\n---------------\n");
      print_array(iarray);  
    
    
      // Bubble sort method.
      for(x = 0; x < ARRAY_SIZE; x++)
        for(y = 0; y < ARRAY_SIZE-1; y++)
          if(iarray[y] > iarray[y+1]) {
            holder = iarray[y+1];
            iarray[y+1] = iarray[y];
            iarray[y] = holder;
          }
    
      fprintf(stdout, "\nAfter Sort\n---------------\n");
      print_array(iarray);  
    
    }
    se non hai fatto i vettori la vedo un pò difficile, forse dovresti fare dei confronti per verificare se un numero è più grande di un altro.
    Spero di essere stato utile e di non aver detto sciocchezze
    http://www.mangaitalia.net/

    questo è un cazzo metallizzato a quattro ruote e noi due siamo i coglioni che se lo portano dietro - da Bad Boys con Will Smith and Martin Lawrance di John Whoo

  9. #9
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Per ordinare tre elementi bastano poche righe:
    codice:
    #include <stdio.h>
    #define swap(_x, _y) tmp=(_x), (_x)=(_y), (_y)=tmp
    
    int main()
    {
    	int a,b,c;
    	scanf("%d %d %d",&a,&b,&c);
    	int tmp; // per gli scambi, vedi macro
    	if(a<b) swap(a,b);
    	if(b<c) swap(b,c);
    	if(a<b) swap(a,b);
    	printf("%d %d %d\n", a, b, c);
    	return 0;
    }
    Anche se non è elegantissimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.