Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: nevfuck en 1 Octubre 2010, 02:26 am



Título: ayuda codigo de arreglo
Publicado por: nevfuck en 1 Octubre 2010, 02:26 am
buenas tardes a todo el foro, tengo tiempo entrando ala web, anteriormente tenia una cuenta, aunque deje de utilizarla, tengo un problema, agradeceria me ayudaran con este codigo, tengo este arreglo que, hace llenar el arreglo, suma el arreglo, promedia el arreglo, solo quiero saber como sacar el numero mayor del arreglo, el codigo es el siguiente:





#include <iostream.h>
#include <windows.h>
#include <conio.h>

void main (void)
{
   int op;
   int *a, e;
   int c;
   int s=0;
   int p=0;
   int mayor;

   
   
   
   do
   {
      system("cls");
      cout << "M    E    N    U" << endl;
      cout << endl << "1.- para introdusir el tamaño del arreglo" << endl;
      cout << "2.- para llenar el arreglo" << endl;
      cout << "3.- para sumar arreglo" << endl;
      cout << "4.- para promedia arreglo" << endl;
      cout << "5.- para encontrar el numero mas grande del arreglo" << endl << endl;
      cout << "6.- salir"<< endl << endl;
      cin >> op;
      system("cls");
      switch(op)
      {
      case 1:
         cout << "introduce el tamano del arreglo" <<endl;
         cin>>e;
         a= new int[e];
         getch();
            break;
      case 2:
         cout << "introduce los numeros del arreglo" << endl;
         for(c=0;c<e;c++)
         {
           cin >>a[c];
         }
         getch();
         break;
      case 3:
         cout << "la suma del arreglo es " << endl;
         for(c=0;c<e;c++)
         {
          s=s+a[c];
         }
         cout<< " la suma es "<<s<< endl;
         getch();
         break;
      case 4:
         cout << "el promedio del arreglo es " << endl;
         p = s/e;
         cout<< p << endl;
         getch();
         break;
      case 5:

-----------------------------------------------------------------------------------
     aqui tendria que ir como saber el numero mayor del arreglo...no se que poner o como hacerlo
------------------------------------------------------------------------------------------



   }while(op>=1 && op<=5);
}



el codigo va dentro del case.....
gracias :-\


Título: Re: ayuda codigo de arreglo
Publicado por: while en 1 Octubre 2010, 02:42 am
int y, x;

for(c=0;c<e;c++)
{
if(a[c] > x)
{
x = a[c];
y = c;
}
}
el mayor es el que esta en la posición y. (que equivale a x)
(ojo, si hay varios valores de igual tamaño, te vale: el mayor es x)


Título: Re: ayuda codigo de arreglo
Publicado por: Shell Root en 1 Octubre 2010, 02:50 am
Por ejemplo,
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6.  
  7.  int sVec[9] = {1,2,11,4,5,6,7,8,7};
  8.  int i = 0;
  9.  int sMayor = 0;
  10.  
  11.  sMayor = sVec[0];
  12.  
  13.  for(i=0; i<10; i++){
  14.    if(sVec[i] > sMayor){
  15.      sMayor = sVec[i];
  16.    }
  17.  }
  18.  
  19.  cout << "El número mayor es:" << sMayor << endl;
  20.  
  21.  return 0;
  22.  
  23. }

Resultado,
Código
  1. shellroot@alex-laptop:~/Escritorio$ g++ PoC.cpp
  2. shellroot@alex-laptop:~/Escritorio$ ./a.out
  3. El número mayor es:11


Título: Re: ayuda codigo de arreglo
Publicado por: leogtz en 1 Octubre 2010, 03:22 am
Código
  1. int arreglo[MAX] = {1234, 234, 45, 6, 34, 6, 23, 98, 4};
  2.    int mayor = *(arreglo + 0);
  3.    for(int i = 0; i < MAX; i++)
  4.    (*(arreglo + i) > mayor) ? mayor = *(arreglo + i) : mayor;