Autor
|
Tema: Reducir líneas de código (Leído 2,060 veces)
|
rarrav26
Desconectado
Mensajes: 3
|
Hola, Hice un programa que lo que hace es: convertir uno o más números en base 10 a base X (decisión del usuario), y que cuando se ingrese un numero negativo, tanto en el dividendo como en el divisor, éste se detenga. El programa funciona correctamente, lo único es que hay bastantes líneas repetidas que podrían eliminarse, pero no se como. Para evitar que se repita tantas veces lo mismo, hice un subprograma (función): int cuenta(int a){ int i,num; for(i=0;i<a;i++){ num=16-i; cifra(r(num)); // acá quisiera que r(num) llame a las variables r16 hasta r1 (de acuerdo a lo que se haya ingresado en el parámetro de la función "cuenta" } } Subo el archivo C++, ahí lo expliqué mejor y es más fácil de comprender ya que pueden ver las funciones y lo que quiero reemplazar.Saludos
|
|
« Última modificación: 4 Abril 2015, 21:35 pm por engel lex »
|
En línea
|
|
|
|
engel lex
|
primero, te recomiendo trabajar en un char de 16 espacios en lugar de 16 variables separadas... segundo... para no hacer tanto desastre, sabemos que los numeros son del char 48 al char 57 y las letras minusculas 97 al 122.. entonces... char resultado [16]; while... //el proceso if(proceso<10){ resultado[vuelta]=48+proceso; }else if(resultado<36){ resultado[vuelta]=97+proceso; }else{ resultado[vuelta]='?';//un numero más grande del que trabajas }
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
rarrav26
Desconectado
Mensajes: 3
|
Muchas gracias engel lex, lo que respondiste me sirvió mucho, me abriste una nueva puerta al mostrarme vectores, se me facilitaron muchas cosas al aprender ése método. Reduje muchísimo el código del programa. #include <iostream> #include <cstdlib> using namespace std;
int cifra(int a){ if(a<10){ cout<<a; } else { a=a+87; cout<<(char)a; } }
int main() { system("color A"); system("mode con: cols=100 lines=36"); int num,div,resto,coc,cont,cont1,valor,res[40]; bool funciona=true; while(funciona==true){ cont=0; cout<<"Ingrese el numero decimal que desea convertir: "; cin>>num; if(num<0){ funciona=false; } else { do { cout<<"Ingrese la nueva base: "; cin>>div; if(div<0){ funciona=false; } } while(div==0 || div==1); if(funciona==true){ while(num!=0){ cont++; coc=num/div; resto=num%div; num=coc; res[cont]=resto; } cont1=cont; for(valor=cont1;valor>=1;valor--){ cont=valor; cifra(res[cont]); } cout<<" en base "<<div<<endl; } } } return 0; }
Saludos
|
|
« Última modificación: 7 Abril 2015, 20:06 pm por rarrav26 »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ahorrar lineas de codigo
Programación C/C++
|
m@o_614
|
4
|
3,254
|
27 Junio 2013, 03:23 am
por rir3760
|
|
|
AYUDA Agilizar y reducir código. VB.NET Framework 4.5
.NET (C#, VB.NET, ASP)
|
Torvic98
|
2
|
2,289
|
3 Mayo 2014, 02:51 am
por Eleкtro
|
|
|
REDUCIR CÓDIGO.NET
.NET (C#, VB.NET, ASP)
|
rochro
|
1
|
2,071
|
8 Julio 2014, 09:04 am
por Eleкtro
|
|
|
Las 11 líneas de código y la ira de un programador que casi acaban con Internet
Noticias
|
wolfbcn
|
1
|
1,624
|
5 Abril 2016, 14:07 pm
por RevolucionVegana
|
|
|
Líneas de código de un programa
Dudas Generales
|
Rnovatis
|
3
|
2,434
|
25 Marzo 2017, 19:32 pm
por engel lex
|
|