Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - JEEM1296

#1
Saludos, hace un momento me estuve partiendo la cabeza con un algoritmo para saber la edad con el ingreso de la fecha de nacimiento;creo haber logrado el algoritmo para c++ asi que si alguien lo necesita aqui lo anexo.
Código (cpp) [Seleccionar]
float cedad(char edad[10])
{
    char fa[10];
    int cont=0;
    int dn=(edad[0]-48)*10+(edad[1]-48),mn=(edad[3]-48)*10+(edad[4]-48),an=(edad[6]-48)*1000+(edad[7]-48)*100+(edad[8]-48)*10+(edad[9]-48);
    int da,ma,aa;
    fflush(stdin);
    cout<<"Ingrese fecha actual (dd-mm-aaaa): ";gets(fa);
    da=(fa[0] -48)*10+(fa[1]-48);
    ma=(fa[3]-48)*10+(fa[4]-48);
    aa=(fa[6]-48)*1000+(fa[7]-48)*100+(fa[8]-48)*10+(fa[9]-48);
    while(an<aa)
    {
        cont++;
        an++;
    }
    if(ma>mn){cont--;}else{if(ma==mn && da<dn){cont--;} }
return cont;
}


Disculparan es una funcion pero dentro esta la logica y creo esta entendible.
Si detectan algun error, puede comentarlo, seria de ayuda en general.
#2
Programación C/C++ / Matriz caracol
26 Noviembre 2015, 23:29 PM
Hola que tal pueden ayudarme porfavor con un algoritmo que usando un asterisco recorra en forma de caracol de esta manera.


Código (cpp) [Seleccionar]
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <windows.h>

using namespace std;
void gotoxy(int x,int y){
HANDLE hcon;
hcon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y= y;
SetConsoleCursorPosition(hcon,dwPos);
}

int caracol(int v[20][20],int n,int a,int b,int c,int g)
{
if(c==2*(n*n))
{ cout<<"\b ";
gotoxy(b+2,a+5);
cout<<"*";
sleep(50);v[a][b]=2*n*n;
}else{
if(b<((2*n)-1)-g&&a==g)
{
cout<<"\b ";
gotoxy(b+2,a+5);
cout<<"*";
sleep(50);
caracol(v,n,a,b+1,c+1,g);
}else{
if((a<(n-1)-g)&&(b==(((2*n)-1)-g)))
{
cout<<"\b ";
gotoxy(b+2,a+5);
cout<<"*";
sleep(50);
caracol(v,n,a+1,b,c+1,g);
}else{
if(b>g)
{
cout<<"\b ";
gotoxy(b+2,a+5);
cout<<"*";
sleep(50);
caracol(v,n,a,b-1,c+1,g);
}else{
if(a>g+1){
cout<<"\b ";
gotoxy(b+2,a+5);
cout<<"*";
sleep(50);
if(a==g+2)
{
g=g+1;
}
caracol(v,n,a-1,b,c+1,g);
}}}}}}
int main(){
int v[20][20];
int a=0,b=0,c=1,n,g=0;
cout<<"Ingrese el n tamaño: ";cin>>n;
caracol(v,n,a,b,c,g);
cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
return 0;
}


Pero ahora sin usar el gotoxy ni system("cls") ni ningun limpiador de pantalla.
estoy realizando el trabajo en codebloks
porfavor ayudaaaa   :-(