Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int BusqMaxySiguienteEnVector(int v[], int n, int clave){
- //si para hacer una tarea tan simple como encontrar el maximo
- //necesitas tantas variables, desconfiá. tiene que haber un modo más simple.
- int posic;
- int j=1;
- int u=n-1;
- int maximo;
- int segundo;
- int posicSegundo;
- //este primer if para saber si el primero o el segundo son maximo
- //deberia poder resolverlo el mismo algoritmo, o a lo sumo una pequeña modificacion:
- //tomar el primero como máximo siempre.
- if (v[0]>v[1])
- {
- posic=0;
- maximo=v[0];
- posicSegundo=1;
- segundo=v[1];
- }else{
- posic=1;
- maximo=v[1];
- posicSegundo=0;
- segundo=v[0];
- }
- for(j=1; j<u; j++)
- {
- if(v[j] > maximo){
- segundo=maximo;
- posicSegundo=posic;
- posic=j;
- maximo=v[j];
- //esto no lo entiendo. el maximo siempre va a ser mayor al segundo
- }else if (maximo>segundo){
- posicSegundo=j;
- segundo=v[j];
- }
- }
- return posic;
- }
- int main(){
- int j;
- int arr [30];
- int maximo;
- int segundo;
- for (j=0; j<30; j++){
- arr[j]=j;
- }
- //no se que es el tercer parametro, y como la funcion solo puede devolver un valor
- //mejor pasarle donde guardar el maximo y el segundo como parametro
- maximo = BusqMaxySiguienteEnVector(arr, 30, 100);
- cout <<"Maximo es: "<< maximo << " y " << "segundo es: "<< segundo << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement