Newsgroup: it.comp.programmare.win32
Titolo: AIUTO per creare questo programma

Sto cercando di creare un programma con excel o visual basic, che faccia
questo:
-Inseriti una serie di numeri , esempio 10 numeri
-Di questi numeri una volta inseriti bisogna che il computer trovi i 2
numeri più piccoli ed i 2 numeri  più grandi
-Dopo averli trovati toglierli dal gruppo dei 10 e fare la somma di quelli
che sono rimasti .
ESEMPIO
 gruppo di 10 numeri : 2 -5-7-9-1-10-20-15-12-4
1  e 2  sono  i più piccoli
15 e 20 sono i più grandi
quindi si somma 5+7+9+10+12+4 = 47
Questo è quello che dovrebbe fare il programma , è possibile farlo con EXCEL
o in Visual Basic ?
Spero che  qualcuno mi dia una mano , grazie.

 che sono rimasti .
Non capisco proprio l'utilita' di questo programma cmq... il modo piu'
semplice consiste nel usare una qualsiasi funzione (alcuni linguaggi le
hanno, altrimenti la scarichi) per ordinare l'array di 10 numeri e poi fai
la somma dei numeri con indice maggiore di 1 e minore di 8. (ciclo for)
Alex

la somma dei numeri con indice maggiore di 1 e minore di 8. (ciclo for)
Non serve ordinare.
Il sorgente C :
int main()
{
    int nums[10] = { 3, 8, 6, 5, 4, 7, 9, 8, 0 } ;
    int i, min, max, somma ;
    somma = min = max = nums[0] ;
    for ( i = 1 ; i < sizeof nums / sizeof nums[0] ; i++ )
    {
        if ( nums[i] < min ) 
        {
           min = nums[i] ;
        }                 
        else
        if ( nums[i] > max )
        {
           max = nums[i] ;
        }
        somma += nums[i] ;
    }
    somma -= (min + max) ;
}

 ha scritto nel messaggio
news:VRTS6.1075$Cq3....@news2.tin.it...


Bravissimo !!! ;-)
Peccato che erano i 2 piu' piccoli ed i 2 piu' grandi !!!
Anche ora sei in grado di dirmi che non serve ordinare l'array, ma a questo
punto se l'array e' piccolo conviene ordinarlo :-)
Mi dispiace, questa volta hai letto male la domanda :-(
Alex
"Andrea Laforgia" <xx...@xxxxx.xx> ha scritto nel messaggio
news:3b1d22e8...@news.libero.it...


: 

Anche io non sono mai riuscito a capire l'utilità dei compiti :)
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

Mi dispiace, questa volta hai letto male la domanda :-(
Ciao genio...

Bravissimo !!! ;-)
Aggiungo, per l'ennesima volta, la preghiera a quotare in modo
decente.  Cerca di rispettare la netiquette, per cortesia.

> ma era proprio necessario Xpostare in questo modo?
again? :)
Newsgroups: it.comp.programmare.win32
Subject: AIUTO per creare questo programma
Lines: 29
...
ciao
xaero



Newsgroup: it.comp.aiuto
Subject: AIUTO per creare questo programma
Lines: 29
Newsgroup: it.comp.lang.c
Subject: AIUTO per creare questo programma
Lines: 29
Newsgroup: it.comp.lang.c++
Subject: AIUTO per creare questo programma
Lines: 29
...e chissa' quanti altri...
p.s. sorvolo sul fatto che su iclc e iclc++ quel msg e' assolutamente
off-topic.

 off-topic.
oky, hai ragione... ;-P
ciao
xaero

 Ciao genio...
Sei tu che hai letto male la domanda, mica io !!!
Alex

 decente.  Cerca di rispettare la netiquette, per cortesia.
Va bene cosi' ?!?
Ah, per favore, non denunciarmi per aver violato la Netiquette !
Non vorrei essere sottoposto alla navigazione vigilata o seminavigazione :-)
Alex
P.S. Ti ricordo che la netiquette e' un po' come il galateo. E' l'insieme
dei buoi comportamenti in Internet. Non e' legge !
Quindi uno e' libero se seguirla o meno. E gli altri non devono adirarsi se
uno non la segue!
Io il galateo lo metto in pratica quando serve, non tra amici ad esempio.
Per lo stesso motivo mettere in pratica la netiquette forzatamente
altrimenti due o 3 tizi ti insultano non mi sembra obbligatorio.
La netiquette la uso nei siti professionali, nei contatti di lavoro etc..
Sul NG mi piace discutere, fare domande, rispondere, insomma fare tutto
questo abbastanza liberamente !
Non credo di aver rovinato la vita a qualcuno postando la risposta prima e
non dopo il quote ;-)
Ah, non parlare con la bocca piena, ti ho visto, sai ?

ordinare e fai prima. (Ferdinando proponeva con 10 elementi).
No, ordinare conviene per array molto grandi, non per gli array
piccoli.
Ciao genio, alla prossima.

questo abbastanza liberamente !
Hai uno strano concetto di "educazione".
Ciao genio, alla prossima.

 Ciao genio, alla prossima.
Ok, pronto! Come ti ho detto io risolverei il problema con un semplice
algoritmo di ordinamento (in modo che sia molto piu' flessibile nel caso il
numero di numeri da togliere dovesse cambiare), ma voglio stare al gioco,
visto che mi sfotti e mi chiami "genio". Ti verro' dietro con un algoritmo
specifico:
#include "stdio.h"
int main()
{
     int nums[] = { 9, 5, 7, 2, 1, 10, 20, 15, 12, 4 } ;
     int size;
     int somma;
     int min1,min2,max1,max2;
     int i;
     somma=min1=min2=max1=max2=nums[0];
     size = sizeof nums / sizeof nums[0] ;
     for(i=1;i<size;++i){
          if(nums[i]<nums[min1]){
               min2=min1;
               min1=i;
          }else if(nums[i]<nums[min2]){
               min2=i;
          }
          if(nums[i]>nums[max1]){
               max2=max1;
               max1=i;
          }else if(nums[i]>nums[max2]){
               max2=i;
          }
          somma+=nums[i];
     }
     somma-=nums[min1]+nums[min2]+nums[max1]+nums[max2];
     printf("Il valore e': %d\n",somma);
     return 0 ;
}
Questo algoritmo e' piu' veloce: n invece di 2n (in quanto fa solo un ciclo)
ed e' molto piu' elegante !
Alex

ed e' molto piu' elegante !
Certo, certo, peccato sia totalmente sballato...

esempio di 3 valori (9, 8, 7) e vediamo che cosa succede :
E' una ironia ridicola! Perche' non dici che il programma e' errato e basta
!
O se proprio ti fa sentire grande che non sono capace a programmare ?!?
Sinceramente non capisco perche' sfottere, visto che tra parentesi le nostre
discussioni sono costruttive: sono il tipo di risposta piu' esauriente che
Ferdinando si potesse aspettare !
Ci tengo veramente, che cosa ha ora che non va il mio programma. Se ho
sbagliato qualche cosa fammelo notare e mi fara' solo del bene. Se non ho
sbagliato nulla invece sono sicuro che non avrai il coraggio di dire che e'
meglio del tuo. Mi dispiace ma credo che il tuo vero punto debole e' che non
sai ammettere quando sbagli. (mi correggo, una volta con MySql lo hai
ammesso).
Alex
P.S. chiedo scusa per lo stupido errore e ribadisco:


prestazioni)
Il mio e' ancora piu' veloce.
Tu accusi, accusi, sfotti e pero' non hai il coraggio di "sfottere" anche te
quando sbagli!
Io ho sbagliato nell'inizializzare le quattro variabili. Credici o meno che
l'avevo corretto, non mi interessa. Quello che ammetto e' pero' che l'errore
l'ho fatto !!!
Non faccio come te che semplicemente dove sbaglia non risponde. Io sono
onesto ed ho detto di aver sbagliato.
Alex

sai ammettere quando sbagli.
Il mio programma non e' sbagliato, il tuo si'.

Non faccio come te che semplicemente dove sbaglia non risponde.
Ti rammento, caro mio, che non ho sbagliato. 
Il MIO codice funziona, e' il TUO che non fa cio' che deve fare.
Compila i tuoi programmi prima di postarli, se ci tieni a dimostare
che funzionano.
Output del tuo programma con { 50, 40, 30, 20, 10, 5 } come array :
Il valore e': 40
Sbagliato.
Il valore e' 50, se si escludono 50 e 40 che sono i due numeri piu'
grandi e 10 e 5 che sono i piu' piccoli (30 + 20 = 50).
Allora ? come la mettiamo ?
Non postare ancora codice, per cortesia, non ho intenzione di
continuare a rimarcare i tuoi errori.

 sensate.  Il tuo programma e' ancora sbagliato.
Gia' non funziona nel caso in cui il primo numero sia il piu' grande!
Ok, ho toppato.
E' ovviamente correggibile mantenendo sempre solo un ciclo (che e' meglio),
ma volendo puoi farlo anche tu, quindi evitero' di postarti la correzione
(come da te maleducatamente chiesto).
Spero che il giorno che sbaglierai anche tu (il tuo programma non mi piace,
ma questa volta non sono piu' nella posizione...) lo ammetterai anche tu.
Per i tempi esecuzione del tuo e del quicksort non mi hai ancora risposto.
E' cosi' difficile dire "ho sbagliato" ???
E non dirmi che non sbagli mai, visto che sbagliare e' umano.
Alex

 continuare a rimarcare i tuoi errori.
Ed io i tuoi !!!
Alex
P.S. impariamo a rispettarci entrambi visto che entrambi sappiamo
programmare eppure entrambi ogni tanto facciamo cazzate !

 Il mio programma non e' sbagliato, il tuo si'.
Perche' non testi anche i tuoi oltre che i miei.
Per concludere: il mio ed il tuo sono sbagliati uguali e non contando
l'errore comune il mio e' piu veloce.
Ah, sicuro che non avessi ragione quando dicevo che conveniva ordinare un
array. VIsto quanti problemi in meno !
Alex
P.S. non postare nemmeno tu nuovo codice, ok ?!?

E' cosi' difficile dire "ho sbagliato" ???
Io ho sbagliato a darti corda fino ad ora.
Vorrei ricordarti che il mio codice non e' sbagliato.
E' questo il punto.
Io ho dato una soluzione perfettamente funzionante.  
Sei tu che finora hai toppato nel tentativo di correggere una cosa
gia' corretta.
E ci aggiungo un bel 
*PLONK*

Piccola correzione :
#include <stdio.h>
#include <limits.h>
int main()
{
    int nums[] = { 10, 20, 30, 40, 50, 60, 70, 80, 90 } ;
    int i, j, n, pmin, pmax, min1, min2, max1, max2, somma ;
    somma = min1 = max1 = min2 = max2 = nums[0] ;
    pmin = pmax = 0 ;
    n = sizeof nums / sizeof nums[0] ;
    for ( i = 1 ; i < n ; i++ )
    {
        if ( nums[i] < min1 )
        {
           min1 = nums[i] ;
           pmin = i ;
        }
        else
        if ( nums[i] > max1 )
        {
           max1 = nums[i] ;
           pmax = i ;
        }
        somma += nums[i] ;
    }
    min2 = INT_MAX ;
    max2 = INT_MIN ;
    for ( j = 0 ; j < n ; j++ )
    {
        if ( ( j != pmin ) && ( j != pmax ) )
        {
           if ( nums[j] < min2 )
           {
              min2 = nums[j] ;
           }
           else
           if ( nums[j] > max2 )
           {
              max2 = nums[j] ;
           }
        }
    }
    somma -= (min1 + max1 + min2 + max2) ;
    printf( "somma = %d\n", somma ) ;
    printf( "min1 = %d\n", min1 ) ;
    printf( "max1 = %d\n", max1 ) ;
    printf( "min2 = %d\n", min2 ) ;
    printf( "max2 = %d\n", max2 ) ;
    getchar() ;
    return 0 ;
}

P.S. non postare nemmeno tu nuovo codice, ok ?!?
Mi spiace per te, gia' fatto ed ora FUNZIONA.
Ciao geniaccio.

programmare eppure entrambi ogni tanto facciamo cazzate !
Le cazzate, finora, le hai fatte solo tu.
*ARIPLONK*

 Niente affatto, gia' corretto prima che ti affrettassi a rispondere.
Quello che hai postato non funziona. L'ho provato. Sono in grado anche io di
correggerlo ora.
Ca**o davvero non sai dire ho sbagliato.
Se anche lo hai gia' corretto significa che l'errore lo avevi fatto.
Lo abbiamo fatto entrambi, punto e basta. Sii uomo, abbi coraggio !
Alex
P.S. ma con chi sto perdendo tempo a parlare ?!?

"Andrea Laforgia" <xx...@xxxxx.xx> ha scritto nel messaggio
Il messaggio in cui ti dico che hai sbagliato e' delle 21.30 la tua
"piccola" correzione delle 21.39 !!
Se anche fosse antecedente non cambierebbe nulla. Hai sbagliato come me !!
Eppure ti ostini a dire che sono solo io quello che sbaglio !
Alex

Ciao geniaccio.
Vedi di non rompere piu' con questi aggettivi cretini !
Alex

On Tue, 05 Jun 2001 19:44:40 GMT, xx...@xxxxx.xx (Andrea Laforgia)
wrote:

non per immischiarmi ma non potreste smetterla con questa discussione
che non mi sembra portare a niente
Ciao
Marco Barisione (ICQ 84277092)

 che non mi sembra portare a niente
Hai perfettamente ragione, io da ora in poi evitero' di rispondere a
Laforgia e spero che lui eviti di rispondere a me.
Chiedo scusa se mi sono lasciato andare e sono andato OT, ma mi sembrava una
cosa da pazzi !!!
Alex
P.S. continuero' a partecipare a questo NG ma ignorero' completamente i suoi
messaggi. Non vale la pena di parlare con un muro che "ha sempre ragione",
quando sbaglia e' normale, quando sbagliano gli altri sono dei cretini !

Scuse accettate, anzi devo dire che la discussione per alcuni versi mi
interessava.
Visto che non riuscite a mettervi d'accordo concludo io.
Entrambi avete presentato due buone soluzioni, purtroppo entrambe
presentavano lo stesso piccolo errore. Siete pari ! STOP ! BASTAHHH !
Uno ha ammesso di avere sbagliato, l'altro no, ma no importa. Chi se ne
frega. Tanto ce ne siamo accorti tutti !
Ricky
"Alex" <Nom...@wow.boh> ha scritto


C'e' una piccola differenza...
Quale ? che tu non lo ammetti !!!
Vedi come sei maleducato ed oltrettutto dici cose non vere...
Senti,questa e' l'ultima volta che ti scrivo, gia' l'ho detto a Marco
Barisione, ora lo dico anche a te. Ti giuro pero' che mi piacerebbe avere
un'ultima risposta da te:
"hai ragione, scusa, abbiamo sbagliato entrambi. Scusa, ho preteso di avere
ragione e di essere l'unico che non sbaglia quando ho sbagliato ben 2 volte
!!!"
Alex
P.S. io so di poter sbagliare e quando sbaglio lo ammetto. Sono molto meno
pericoloso di chi e' convinto di non sbagliare e di fronte all'evidenza nega
ancora facendo una figura ancora peggiore !

quando sbaglia e' normale, quando sbagliano gli altri sono dei cretini !
Scusate, ma non posso sorvolare su queste affermazioni.
La stupidita' di certa gente arriva ad irritarmi sul serio.
A quanto pare, tu non distingui tra bug dovuti alle condizioni di
"inizializzazione" di un algoritmo CORRETTO (quello nel mio programma)
e bug dovuti ad algoritmi SBAGLIATI (quello del tuo programma).  
Sono concetti di bug ALQUANTO diversi.
E' la logica che c'e' dietro gli algoritmi che conta.
Gli errori di codifica si risolvono.
Nel tuo caso, manca ***l'algoritmo***. Comprendi ???
IL TUO PROGRAMMA NON FUNZIONA PERCHE' NON SI BASA SU UN ALGORITMO
VALIDO !!!
Io non ho detto che "non sbaglio", non sono Superman, ho detto che in
questo thread ho offerto un algoritmo corretto, ed e' difficile
affermare il contrario (visto che il programma effettivamente
funziona).
Questo dovrebbe farti riflettere, spero non ti sentirai solo nel mio
kill-file.
ADDIO (questa volta per davvero).

e bug dovuti ad algoritmi SBAGLIATI (quello del tuo programma).
Infatti entrambi i nostri algoritmi sono corretti e' solo un problema di
inizializzazione.
Se vede che non sei abbastanza intelligente e non sei riuscito a comprendere
il mio.
Ad ogni modo, quando sbagli tu..... "inizializzazione", non hai il coraggio
di dire ho sbagliato ben 2 volte.

...e chissa' quanti altri...
beh, sono affari tuoi... ti è già stato spiegato qual è il vero problema 
dei cross-post, quelli propriamente detti. Questo è un inoffensivo caso 
di post multiplo, tra l'altro in copia singola, quindi non c'è proprio 
nulla da rimproverargli, se non l'OT in iclc e iclcpp