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 - Dano1952

#1
Hola a todos, buen día.-
Tengo esa duda y por mas que busco ninguna página que consulto me da la respuesta, estoy haciendo una agenda y quiero poner en cada registro la fecha de alta del contacto.-

#include <stdio.h>
#include <time.h>
#include <string.h>

int main(int argc,char* argv[]) {

time_t tiempo = time(0);
struct tm *tlocal = localtime(&tiempo);
char output[128], fecha[11];
strftime(output,128,"%d/%m/%Y %H:%M:%S",tlocal);
memcpy( fecha, output, 10 );

printf("\n %s\n",fecha);

return 0;
}


Es todo, espero Uds. lo sepan.
Dano
#2
Programación C/C++ / Tabla con punteros.
9 Junio 2018, 19:41 PM
Hola, buen día.
Encontré esto en unos apuntes y no se como llamarlo, se me antoja una tabla de 3 x 20 con puntero pero me gustaría que alguien me diga si es lo correcto, o cual es la definición correspondiente.

int arr[COL], i, j;
int (*pm)[REN] = (int(*)[REN]) &arr;


Lo que sigue lo implemente yo y parece que funciona correctamente.-
#include <stdio.h>
#include <stdlib.h>

#define REN 3
#define COL 20

int main(int argc, char *argv[]){
int arr[COL], i, j;
int (*pm)[REN] = (int(*)[REN]) &arr;

for ( i=0; i<REN; i++ ){
for ( j=0; j<COL; j++ ){
*(*(pm+COL)+REN) = 2;
}
}

for ( i=0; i<REN; i++ ){
for ( j=0; j<COL; j++ ){
printf ( "%d ", *(*(pm+COL)+REN) );
}
printf ( "\n" );
}

return 0;
}

Saludos y buen Sábado.
#3
Hola, ¿como están?
Dude mucho antes de hacer este post, pero me plantie ¿si uno no pide ayuda como aprende?,-
Bueno eso es todo, dejo todo el programa ya que es corto y tal vez a alguien le sirva de consulta.-
Lo que necesito es para aplicar en el printf de la línea 61, -

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define ELEMENT 20

void rellenar( int *ptrVec );
void ordenar ( int *ptrVec );
void buscar ( int *ptrVec );

int main(int argc, char *argv[]){
int vector[ELEMENT], i;

rellenar ( vector );
ordenar ( vector );
buscar ( vector );

return 0;
}

void rellenar( int *ptrVec ){
int numero, i;
srand( time(NULL) );

for ( i=0; i<ELEMENT; i++){
numero = rand() % 101;
*( ptrVec + i) = numero;
}
}

void ordenar ( int *ptrVec ){
int i, j, tmp, menor, pos;

for ( i=0; i<ELEMENT-1; i++ ){
menor = *(ptrVec+i);
tmp = menor;
pos = i;
for ( j=i; j<ELEMENT-1; j++ ){
if ( menor > *(ptrVec +j+1) ){
menor = *(ptrVec +j+1);
pos = j+1;
}
}
if ( tmp != menor ){
*(ptrVec+i) = menor;
*(ptrVec+pos) = tmp;
}
}
}

void buscar ( int *ptrVec ){
int centro,inf=0,sup=ELEMENT-1,buscar=15;

for (int i=0; i<ELEMENT; i++){
printf ( "%d ", *(ptrVec+i) );
}

while( inf<=sup ){
centro=((sup-inf)/2)+inf;
if(*(ptrVec+centro) == buscar){
printf ( "\n Encontrado en la posicion...: %d", 2 );
break;
}
else if(buscar < *(ptrVec+centro)){
sup=centro-1;
}
else{
inf=centro+1;
}
}
}

Saludos.
Dano
#4
Hola ¿como están?
En el tutorial con el que estoy re-pasando punteros hay un programa que pongo a continuación:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char copiar(char*, const char*);

int main(void){
char ptrA[80] = "Cadena a usar para el programa de ejemplo";
char ptrB[80];

copiar ( ptrB, ptrA );
printf ( "\n %s\n ", ptrB );

return EXIT_SUCCESS;
}

char copiar ( char *destino, const char *fuente ){

while ( *fuente != '\0' ){
*destino++ = *fuente++;
}
*destino = '\0';

return *destino;
}


La duda es que la función (en el tutorial) tiene esta línea que yo quite y funciona igual, me podrían decir porque la habrán incluido, ¿tiene alguna ventaja? ,-

char *p = destino;

char copiar ( char *destino, const char *fuente ){
char *p = destino;

while ( *fuente != '\0' ){
*p++ = *fuente++;
}
*p = '\0';

return *destino;
}


Dano.
#5
Hola ¿como están? .
Tengo una dificultad en este programita que por mas que repaso manuales y busco en la web no logro dar con la tecla, mi pregunta es porque no puedo imprimir la frase invertida con un simple printf %s,

#include <stdio.h>
#include <string.h>

int main(void){
char cadena[]="Rosa y Yiyi", tmp[12]="";
char *p = cadena;
char *t = tmp;
int i, j, lar;

printf ( "\n %s\n", p );
lar = strlen(p);

for (i=lar,j=0; i>=0; i--,j++){
*(t+j) = *(p+i);
}

for (i=0; i<=lar; i++){
printf ( "%c", *(t+i) );
}

printf ( "\n" );

return 0;
}


Esta parte es la que quiero reemplazar y no lo logro.
for (i=0; i<=lar; i++){
printf ( "%c", *(t+i) );
}


Me podrían decir donde estoy fallando?

Dano.