Oppure

Loading
19/05/10 19:58
Poggi Marco
A tale scopo esistono vari metodi.
Ad esempio crea due variabili - es. max1 e max2 - inizializzate ai valori della prima riga.
Successivamente imposta un ciclo che vada a testare tutte le righe inserite, in modo da ricercare i valori massimi.
aaa
19/05/10 20:42
Postato originariamente da metalazo:

la soluzione di Poggi funziona....


E' uguale alla tua tranne per il fatto che ha tolto il for interno ... lo hai notato?

adesso se volessi sapere qual'è la coppia formata dai numeri + grandi come potrei fare ???


Un attimo ... cosa intendi ? La coppia ha due valori ... uno puo' essere il piu' grande ma l'altro no ... chiarisci.


P.S. Questo sarebbe un altro problema e andrebbe aperto un nuovo thread con un titolo adeguato.
20/05/10 16:42
metalazo
lo so che è uguale alla mia però non usciva dal ciclo for nel momento in cui inserivo la coppia (0,0).

Cmq chiarisco meglio la questione....tra tutte le coppie inserite vorrei conoscere e quindi stampare a video quella composta dai numeri piu alti.
aaa
20/05/10 16:45
Postato originariamente da metalazo:

lo so che è uguale alla mia però non usciva dal ciclo for nel momento in cui inserivo la coppia (0,0).


Esce perchè c'è la if che ti avevo indicato di aggiungere.
Con la if, con o senza il secodo for, è uguale.

Cmq chiarisco meglio la questione....tra tutte le coppie inserite vorrei conoscere e quindi stampare a video quella composta dai numeri piu alti.


Non hai chiarito nulla ... facciamo un esempio, se ho le coppie

10,20

19,19

15,18

qual è la coppia che vuoi trovare?
20/05/10 17:10
metalazo
Ok ragazzi grazie mille per il vostro aiuto....ci sono riuscito da solo e ho stampato il risultato sul file...
vi posto tutto il codice


#include<iostream>
#include<fstream>
using namespace std;
typedef int coppia [ 100 ][ 2 ];

int main()
{
ofstream risultato("risultato.txt";);

int max1=0,max2=0;
char rip;
int rig=100;
coppia c;
cout<<"\n";
cout<<"\n Ben Venuto, Puoi inserire al massimo 100 coppie di numeri:"<<endl;
cout<<"\n Arresta l'inserimento delle coppie inserendo la coppia(0,0)"<<endl;

do
{
for(int i=0;i<rig;i++) //riempimento della matrice
{
cout<<"\n[Coppia n."<<i+1<<"]"<<endl;
cout<<"numero 1 : ";
cin>>c[ i ][ 0 ];
cout<<"numero 2 : ";
cin>>c[ i ][ 1 ];

if(c[ i ][ 0 ]>max1 && c[ i ][ 1 ]>max2) //controllo per la ricerca della coppia massima
{
max1=c[ i ][ 0 ];
max2=c[ i ][ 1 ];
}
if(c[ i ][ 0 ]==0 && c[ i ][ 1 ]==0) break; //controllo per inserimento coppia (0,0) ed uscita dal ciclo
}
cout<<"\n";
cout<<"la coppia massima e': ("<<max1<<","<<max2<<";)"<<endl;
cout<<"la somma massima e': "<<max1+max2;
cout<<"\n";

// scrittura su file risultato.txt
risultato<<"\n";
risultato<<"\n la coppia massima e': ("<<max1<<","<<max2<<";)"<<endl;
risultato<<"\n la somma massima e' : "<<max1+max2<<endl;

cout<<"\n Vuoi continuare ancora?";
cout<<"\n s/n : ";
cin>>rip;
}
while(rip=='s' || rip=='S');
return 0;
}


:k::k::k::k::k::k::k::k:
aaa
20/05/10 17:33
Poggi Marco
Ho letto il tuo programma... credo sia una soluzione possibile.
Ma prova ad inserire la seguente sequenza:

-1 -1000
-3 50
2 0
0 0

Oppure

20 5
7 19
0 0
aaa
20/05/10 18:08
Quindi, nel caso di

20 5
7 19
0 0

tu scrivi che la coppia massima è

20, 5

mentre, se inserisci

7 19
20 5
0 0

scrivi che la coppia massima è

7, 19

Che senso ha?
Ultima modifica effettuata da 20/05/10 18:10
20/05/10 19:32
metalazo
il mio scopo è quello di ricercare la coppia che restituisce la somma massima, quindi è giusto che la coppia (7,19) restituisca come somma massima tra le coppie 26
aaa