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ú

Mensajes - Beginner Web

#531
Hola a tod@s, acabo de hacer un metodo para calcular los dias transcurridos desde el 1 de Enero de ese año, teniendo en cuanta que la fecha pasada por parametro esta validada, se que este metodo funciona pero me gustaria saber si hay otras formas mas simples de implementarlo? Me siento tonta :-\
Gracias!!  ;-)
Código (cpp) [Seleccionar]
void calcular_dias(t_fecha n)
{
int dias=0, m[11]={31,28,31,30,31,30,31,31,30,31,30};
switch(n[1]){
case 1: dias+=n[0];break;
case 2: dias+=m[0]+n[0];break;
case 3: dias+=m[0]+m[1]+n[0];break;
case 4: dias+=m[0]+m[1]+m[2]+n[0];break;
case 5: dias+=m[0]+m[1]+m[2]+m[3]+n[0];break;
case 6: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+n[0];break;
case 7: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+m[5]+n[0];break;
case 8: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+m[5]+m[6]+n[0];break;
case 9: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+m[5]+m[6]+m[7]+n[0];break;
case 10: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+m[5]+m[6]+m[7]+m[8]+n[0];break;
case 11: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+m[5]+m[6]+m[7]+m[8]+m[9]+n[0];break;
case 12: dias+=m[0]+m[1]+m[2]+m[3]+m[4]+m[5]+m[6]+m[7]+m[8]+m[9]+m[10]+n[0];break;
}
if(n[2]%4==0 && n[1]>2){
dias++;
}
cout<<"Dias transcurridos desde el 1 de Enero: "<<dias<<endl;
}
#532
Programación C/C++ / Re: Duda Estructura de Dato
25 Septiembre 2018, 17:15 PM
Un gracias me haria feliz, por lo menos eso  ;-)
Código (cpp) [Seleccionar]
const int MAX=32;
typedef char tcad[MAX];
typedef struct tfecha{
int dia;
int mes;
int año;
};
typedef struct templeado{
int cedula;
tcad nombre;
tfecha fechaNasimiento;
tcad empresa;
tcad cargo;
float sueldo;
tfecha fechaContratasion;
tfecha fechaTerminasion;
tcad correo;
};
typedef struct tnodo *pnodo;
typedef struct tnodo{
templeado enpleado;
pnodo sig;
};
typedef struct tlista{
        pnodo inicio;
        int cantidadEmpleados;
};

void listarEnpleados(tlista lista, int dia, int mes)
{
pnodo i;
if(lista.inicio!=NULL){
for(i=lista.inicio;i!=NULL;i=i->sig){
if(dia==i->enpleado.fechaNasimiento.dia && mes==i->enpleado.fechaNasimiento.mes){
cout<<"Nombre: "<<i->enpleado.nombre<<endl;
cout<<"Emprensa:"<<i->enpleado.empresa<<endl;
cout<<"Correo: "<<i->enpleado.correo<<endl;
}
}
}
else{
cout<<"LISTA VACIA"<<endl;
}
}

#533
Hola es con strcpy
Código (cpp) [Seleccionar]
#include <iostream>
#include <string.h>//strcpy(destino,origen);

using namespace std;

int main(){
char destino[32], origen[]="Hola!";//Where destino must contar with espacio suficiente para almacenar otras strings
strcpy(destino,origen);
cout << destino << endl;
}
#534
Programación C/C++ / Re: Ayuda con recursividad
16 Septiembre 2018, 16:35 PM
Que bueno, yo recien acabo de empezar el secundario primer año
#535
Programación C/C++ / Re: invertir un vector en C
16 Septiembre 2018, 04:46 AM
Ahora que me doy cuenta la mejor forma de invertir un vector sin usar otro auxiliar es hacer un bubblesort que traiga el ultimo elemento a la primera posicion del arreglo y ya  ;-)
#536
Código (cpp) [Seleccionar]
#include <iostream>
#include <ctime>

using namespace std;

const int FILAS=3, COLUMNAS=4;
typedef int arreglo[FILAS][COLUMNAS];

void cargar(arreglo &a, int i, int j);
void mostrar(arreglo a, int i, int j);
int suma(arreglo a, int i, int j);

int main()
{
arreglo miarreglo;
srand(time(0));
cargar(miarreglo,0,0);
mostrar(miarreglo,0,0);
cout << "SUMA: " << suma(miarreglo,FILAS-1,COLUMNAS-1) << endl;
system("pause");
}

void cargar(arreglo &a, int i, int j)
{
    a[i][j]=1+rand()% 10;
    if(i<FILAS){
    if(j<COLUMNAS){
    cargar(a,i,j+1);
}
else{
cargar(a,i+1,0);
}
}
}

void mostrar(arreglo a, int i, int j)
{
    if(i<FILAS){
    if(j<COLUMNAS){
    cout << a[i][j] << " ";
    mostrar(a,i,j+1);
}
else{
cout << endl;
mostrar(a,i+1,0);
}
}
}

int suma(arreglo a, int i, int j)
{
if(i==0 && j==0)
return a[i][j];
else
if(i>-1)
if(j>=-1)
return a[i][j]+suma(a,i,j-1);
else
return a[i][j]+suma(a,i-1,j+COLUMNAS-1);
}

;-)
#537
COLUMNAS es solo representativo
Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

const int FILAS=3, COLUMNAS=4;
typedef int arreglo[FILAS][COLUMNAS];

int suma(arreglo a, int i, int j);

int main()
{
arreglo miarreglo={{1,1,1,1},{2,2,2,2},{3,3,3,3}};
cout << "SUMA: " << suma(miarreglo,FILAS-1,COLUMNAS-1) << endl;
system("pause");
}

int suma(arreglo a, int i, int j)
{
if(i==0 && j==0)
return a[i][j];
else
if(i>-1)
if(j>=-1)
return a[i][j]+suma(a,i,j-1);
else
return a[i][j]+suma(a,i-1,j+COLUMNAS-1);
}
;-)
#539
Buenas no entiendo el comportamiento de este procedimiento y mas precisamente en el ciclo for

Código (cpp) [Seleccionar]
typedef struct tnodo *pnodo;//Estructura de la lista
typedef struct tnodo{
int dato;
pnodo sig;
};

pnodo quitar_nodo(pnodo &lista, int valor)//Metodo quitar nodo
{
pnodo borrado, i;
if(lista==NULL){
borrado=NULL;
}
else{
if(lista->dato==valor){
borrado=lista;
lista=borrado->sig;
borrado->sig=NULL;
}
else{
for(i=lista;i->sig!=NULL && valor!=(i->sig)->dato;i=i->sig);//De aqui en adelante no lo tengo bien en claro, se como lo hace pero el codigo me es incomprensible
if(i->sig!=NULL){
borrado=i->sig;
i->sig=borrado->sig;
borrado->sig=NULL;
}
else{
borrado=NULL;
}
}
}
return borrado;
}

Alguien que me lo explique en cristiano por favor?  ;-)
#540
Programación C/C++ / Re: invertir un vector en C
15 Septiembre 2018, 00:40 AM
Hola para invertir un vector puedes usar la recursividad
Código (cpp) [Seleccionar]
void invertir(arreglo a, int n)
{
if(n>=0)
cout << a[n] << " ";
invertir(a,n-1);
}


O de la forma iterativa

void invertir(arreglo a)
{
for(int i=MAX-1;i>=0;i--)
cout << a[i] << " ";
cout << endl;
}