Autor
|
Tema: Código más eficiente (Leído 8,919 veces)
|
prometheus48
Desconectado
Mensajes: 176
Making a Distro...
|
Hola, Estaba yo con el ordenador y de repente se me ocurrió hacer un programa el cual te pide 3 números y después te dice cuál es el más grande. Pero no solo eso, lo que quería era hacer un programa en C++, que sea lo mas rápido posible, que gaste muy pocos recursos y que ocupe muy poca memoria. Osea, un programa simple, pero programado de tal forma que sea perfecto. Hice un código muy simple intentando llamar lo menos posible a funciones, bueno, aquí va mi código, espero que alguien me diga como mejorarlo, o que posteen su propia versión#include <iostream> int main() { int a,b,c; std::cout<<"Type 3 numbers "; std::cin>>a; std::cin>>b; std::cin>>c; if(a>b and a>c) { std::cout<<"The biggest number is \n" <<a<<std::endl; std::cin.get(); } if(b>a and b>c) { std::cout<<"The biggest number is \n"<<b<<std::endl; std::cin.get(); } if(c>a and c>b) { std::cout<<"The biggest number is \n"<<c<<std::endl; std::cin.get(); } system("PAUSE"); return EXIT_SUCCESS; } [/code==cpp] Salu2!
|
|
|
En línea
|
"Si tú tienes una manzana, y yo otra, y las intercambiamos, tu sigues teniendo una manzana, y yo sigo teniendo una manzana. Pero, si tu tienes una idea, y yo otra, y nos las intercambiamos, tu tienes dos ideas, y yo tengo dos ideas" The knowledge is free
|
|
|
folostia
Desconectado
Mensajes: 111
|
Aquí te dejo mi versión,pero está en C: /*el mayor de tres números*/ #include <stdio.h> #include <stdlib.h>
int main(){ int mayor,num1,num2; printf("Escribe tres numeros: "); scanf("%i %i %i", &max,&num1,&num2); if (max < num1){ max=num1; } if (max < num2){ max=num2; } printf("\nEl mayor es: %i",max); system("PAUSE"); return 0; }
|
|
|
En línea
|
"Antes de que un software pueda ser reusable, primero ha de ser usable." (Ralph Johnson) Usuario Linux:547941
|
|
|
Leyer
Desconectado
Mensajes: 786
leyer@elhacker.net
|
Mi version, usar system pause? #include <iostream> using namespace std; int main(int argc,char *argv[]){ int n1,n2,n3; cout<<"Type 3 numbers\n"; cin>>n1>>n2>>n3; int _M=(n1>n2)?(n1>n3)?n1:n3:(n2>n3)?n2:n3; cout<<"The biggest number is " <<_M; cin.get(); cin.get(); return 0; }
|
|
« Última modificación: 1 Enero 2012, 17:02 pm por Leyer »
|
En línea
|
|
|
|
alexis33de
Desconectado
Mensajes: 56
|
Mi versión hecha en Borland . No leí q decía sin funciones XD, nueva versión !!! #include <iostream.h> #include <conio.h> int main() { int numeros[2]; int max=0; cout<<"coloque los 3 numeros"; for(int i=0;i<3;i++) { cin>>numeros[i]; max=numeros[0]; if(numeros[i]>max) { max=numeros[i]; } } cout<<max; getch(); return 0; }
|
|
« Última modificación: 1 Enero 2012, 17:21 pm por alexis33de »
|
En línea
|
|
|
|
prometheus48
Desconectado
Mensajes: 176
Making a Distro...
|
Aun más simplificado #include <iostream> int main() { int a,b,c; std::cout<<"Type 3 numbers "; std::cin>>a>>b>>c; if(a>b and a>c)std::cout<<"The biggest number is \n" <<a; std::cin.get(); if(b>a and b>c)std::cout<<"The biggest number is \n"<<b; std::cin.get(); if(c>a and c>b) std::cout<<"The biggest number is \n"<<c; std::cin.get(); return 0; } [/code=cpp]
|
|
|
En línea
|
"Si tú tienes una manzana, y yo otra, y las intercambiamos, tu sigues teniendo una manzana, y yo sigo teniendo una manzana. Pero, si tu tienes una idea, y yo otra, y nos las intercambiamos, tu tienes dos ideas, y yo tengo dos ideas" The knowledge is free
|
|
|
Sagrini
|
El último NO es más simplificado que los otros, al contrario. Os dejo el mío #include <stdio.h> int main () { int a , b , c ; printf ("Escribe tres numeros: "); scanf ("%d %d %d", &a , &b , &c ); if (a <b ) a =b ; if (a <c ) a =c ; printf ("El mayor numero ingresado es %d\n\n", a ); }
|
|
|
En línea
|
|
|
|
ace332
Desconectado
Mensajes: 66
|
Otra más en C . No se cuan rápido sea, me dio flojera comparar #include <stdio.h> #define permutar(a,b) {int t=a;a=b;b=t;} int main() { int a,b,c; scanf("%d%d%d",&a ,&b ,&c ); if(b<a)permutar(a,b); if(c<b)permutar(b,c); return 0; }
PD: Ahora que lo veo mejor... es el sort burbuja para 3 elementos Saludos
|
|
« Última modificación: 1 Enero 2012, 18:35 pm por GarbageCollector »
|
En línea
|
|
|
|
Sagrini
|
El tuyo no me gusta Tanta llamada a funciones te retrasa mucho. El mío te supera (por milésimas, pero lo hace) en cuestión de tiempo y ciclos ^^
|
|
|
En línea
|
|
|
|
alexis33de
Desconectado
Mensajes: 56
|
Y como se saca los tiempos, no se como se hace en mi compilador , seria bueno q alguien coloque los tiempos d todos los codigod
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
... en CPP #include <cstdlib> #include <iostream> #include <algorithm> using namespace std; /// EntryPoint int main(int argc, char *argv[]) { int a = 16, b = 1500, c = 14; cout << "El maximo valor fue: " << max(a,max(b, c)) << endl; cin.get(); return EXIT_SUCCESS; }
en C-ANSI: #include <stdio.h> #include <stdlib.h> #define max(a,b) a>b?a:b /// EntryPoint int main(int argc, char *argv[]) { int a = 16, b = 15, c = 14; printf("El maximo valor fue: %d", max (a , max (b , c ))); return EXIT_SUCCESS; }
Tambien puedes suplantar max(a, max(b, c)) por: ((a>((b>c)?b:c))?a:((b>c)?b:c)) ///o tambien por (Son identicos solo quite los parentesis cosa NO recomendada!¡): a>b>c?b:c?a:b>c?b:c
En ambos codigos... pero no se entiende muy bien que digamos, mejor deja max(a, max(b, c)) ya que se entiende muchisimo mejor!¡. Dulces Lunas!¡.
|
|
« Última modificación: 1 Enero 2012, 22:59 pm por BlackZeroX (Astaroth) »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
manera mas eficiente de ...
PHP
|
pedraxito
|
5
|
2,743
|
1 Agosto 2007, 10:03 am
por Sanjuu
|
|
|
¿Cuál pedazo de código es más eficiente? (estructura if...else anidada o no)
Programación General
|
Aikanáro Anário
|
5
|
7,336
|
13 Junio 2011, 01:32 am
por Edu
|
|
|
Alguien que me ayude a hacer este codigo mas eficiente
Programación C/C++
|
MellaSystems
|
3
|
2,827
|
10 Marzo 2015, 09:10 am
por eferion
|
|
|
podria ser mas eficiente este codigo ?? consejoss :)
Programación C/C++
|
manuchi
|
3
|
2,596
|
7 Septiembre 2019, 01:33 am
por RayR
|
|
|
[Pregunta]: ¿Este código es eficiente para obtener la IP Pública?
Desarrollo Web
|
Leguim
|
4
|
3,401
|
19 Agosto 2020, 08:26 am
por #!drvy
|
|