|
503
|
Programación / Programación C/C++ / funcion gotoxy
|
en: 21 Octubre 2018, 20:35 pm
|
Hola miren estoy buscando la manera de mostrar el contenido de un arbol binario de busqueda de forma muy grafica por pantalla es decir de esta manera RAIZ 12 33 6 15 51 14 19 Tengo estos metodos pero a la hora de imprimir por pantalla se me superpone el mensaje "Presione una tecla para continuar...." y no me gusta void mostrar(pnodo arbol, int Y) { if(arbol!=NULL){ X+=5; mostrar(arbol->izq,Y+2); gotoxy(10+X-Y,15+Y); cout<<arbol->dato<<endl; mostrar(arbol->der,Y+2); } } void gotoxy(int x, int y) { HANDLE hcon; hcon=GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X=x; pos.Y=y; SetConsoleCursorPosition(hcon,pos); }
Desde ya muchas gracias
|
|
|
504
|
Programación / Programación C/C++ / Re: [C++]Numero ilimitado de argumentos en funciones.
|
en: 21 Octubre 2018, 02:01 am
|
Ahora recuerdo que usaba eso con los switchs de esta forma: switch(opcion){ case 1 ... 100: sumar(1,2,3,4,5);break; default: cout<<"Opcion incorrecta"<<endl; }
Entonces lo que pides es algo asi ##include <iostream> #include <stdarg.h> using namespace std; void sum(int n, ...) { int i, suma=0; int val; va_list vl; va_start(vl,n); for(i=0;i<n;i++){ val=va_arg(vl,int); suma+=val; } va_end(vl); cout<<"Suma: "<<suma<<endl; } int main() { sum(4, 4, 6, 7, 8);//El primer argumento indica cuantos argumentos se sumaran a partir del segundo }
|
|
|
505
|
Programación / Programación C/C++ / Re: [C++]Numero ilimitado de argumentos en funciones.
|
en: 21 Octubre 2018, 01:24 am
|
Me mataste no se, seguro has programado en otro lenguaje y podias hacerlo y quisiera saber como lo hacias #include <iostream> using namespace std; int sum(int num1, int num2, int num3, int num4, int num5) { return num1+num2+num3+num4+num5; } int main() { cout<<"Suma: "<<sum(5, 4, 6, 7, 8)<<endl; }
|
|
|
506
|
Programación / Programación C/C++ / Re: suma de los elementos mayores a 100 en un array c/Recursividad
|
en: 20 Octubre 2018, 21:33 pm
|
int suma(int vector[], int i)//Esto recorre el arreglo desde la utima posicion { if(i==-1)//<-Es el caso base que indica que el vector esta vacio y ya no tiene que //volver a llamar a la funcion recursiva //y empezar a retornar todos los valores obtenidos en cada llamada recursiva return 0; else{ if(vector[i]>100){ return vector[i]+suma(vector,i-1); } else{ return suma(vector,i-1); } } }
Tambien podias haberlo hecho a la inversa int suma(int vector[], int i)//Esto recorre el arreglo desde la primera posicion { if(i==20)//<<-Se termino de recorrer el vector, se detienen las llamadas recursivas return 0; else{ if(vector[i]>100){ return vector[i]+suma(vector,i+1); } else{ return suma(vector,i+1); } } }
|
|
|
507
|
Programación / Programación C/C++ / Re: suma de los elementos mayores a 100 en un array c/Recursividad
|
en: 19 Octubre 2018, 23:47 pm
|
#include<stdlib.h> #include <stdio.h> #include<time.h> int suma(int vector[], int i); int main() { int vector[20], i=0; for(i=0; i<20; i++){ vector [i ]= 1+ rand() % 300; } for(i=0;i<20; i++){ } printf("\nEl resultado de la suma es: %i", suma (vector , i )); return 0; } int suma(int vector[], int i) { if(i==-1) return 0; else{ if(vector[i]>100){ return vector[i]+suma(vector,i-1); } else{ return suma(vector,i-1); } } }
|
|
|
508
|
Programación / Programación C/C++ / Re: Me recomendarían un tutorial de C++
|
en: 19 Octubre 2018, 03:09 am
|
Bueno yo aprendí a programar en una semana con los videos de La Geekipedia De Ernesto "Curso de programación desde cero" y luego de ahi eliges un lenguaje donde quieras empezar a codificar yo empece con C++ y sigo aprendiendo, bye suerte P/D: Perdon solo lei el titulo, pues el mejor libro es The C++ Programming Language 4th Edition. Tutoriales, pueden ser de los canales codigofacilito y Programacion ATS, suerte
|
|
|
509
|
Programación / Programación C/C++ / Re: ayuda en dev c++
|
en: 18 Octubre 2018, 02:36 am
|
main() { int a, b, opcion; do{ system("cls"); cout<<"1. Sumar"<<endl; cout<<"2. Dividir"<<endl; cout<<"3. Salir"<<endl; cin>>opcion; switch(opcion){ case 1: cout<<"Ingrese a: ";cin>>a;cout<<"Ingrese b: ";cin>>b;cout<<"Suma: "<<a+b<<endl;break; case 2: cout<<"Ingrese a: ";cin>>a;do{cout<<"Ingrese b: ";cin>>b;}while(b==0);cout<<"Division: "<<a/b<<endl;break; case 3: cout<<"FIN DEL PROGRAMA"<<endl;break; default: cout<<"Opcion incorrecta"<<endl; } system("pause"); }while(opcion!=3); }
|
|
|
510
|
Programación / Programación C/C++ / Re: colas dobles
|
en: 18 Octubre 2018, 02:29 am
|
Muchas gracias no lei todo pero creo que me sirvio me quedo asi. Bicola entrada restringida: int pop_queue(tcola &q, bool ultimo) { int aux; if(empty_queue(q)==true) aux=-1; else{ if(ultimo==false){ aux=q.datos[q.final];//Aqui tenia sueño y puse q.final=prev(q.final);//esta linea antes que la de arriba } else{ q.frente=next(q.frente); aux=q.datos[q.frente]; } q.contador--; } return aux; }
Bicola salida restringida: void push_queue(tcola &q, int nuevo, bool ultimo) { if(full_queue(q)==true) cout<<"COLA LLENA"<<endl; else{ if(ultimo==true){ q.final=next(q.final); q.datos[q.final]=nuevo; } else{ q.datos[q.frente]=nuevo;//Aqui q.frente=prev(q.frente);//lo mismo } } }
|
|
|
|
|
|
|