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

#101
Hola Sutano.

Ejemplo:


#include <stdio.h>

int main(int argc, char* argv[]) {
unsigned char hinibble = 0xE, lonibble = 0xC, BYTE;

 /* Nibbles a byte */
 BYTE = hinibble << 4 | lonibble;
   printf("%X\n",BYTE);

 /* Byte a nibbles */
 hinibble = BYTE >> 4;
 lonibble = BYTE & 0xF;
 printf("%X%X",hinibble, lonibble);

 getchar();
 return 0;
}


Saludos.
#102
Hola Sutano.

CitarPor ejemplo, si los bytes son A=12 (00001100) y B=14 (00001110), deberia poder convertirlos en C = 206 (11001110) donde estan contenidos.

Si no te entendí mal, podrías hacer:


...
 unsigned char A=12, B=14, C;

 C = A << 4 | B;  
...


Saludos.
#103
Hola m@o_614.


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

#define MAX 21

int main()
{
  int n, i, j, v[MAX], x, aux;

  /* PEDIR CANTIDAD DE ELEMENTOS */
  printf("Dame longitud del vector(maximo 20) :");
  scanf("%d",&n);
  printf("\n");

  /* PEDIR LOS ELEMENTOS */
  for(i = 0; i < n; i++) {
    printf("Elemento %d :",i+1);
    scanf("%d",&v[i]);
    printf("\n");
  }

  /* ORDENAR EL ARREGLO */
  for(i=0; i < n; i++)
    for(j=0; j < n; j++)
      if (v[i] < v[j]) {
        aux  = v[i];
        v[i] = v[j];
        v[j] = aux;
       }

  /* MOSTRAR ARREGLO ORDENADO */
  printf("Orden ascendente\n");
  for(i=0; i<n; i++) printf("%d\n",v[i]);

  /* PEDIR ELEMENTO A INSERTAR */
  printf("Dame elemento a intercalar :");
  scanf("%d",&x);
  printf("\n");

  /* INSERTAR EL ELEMENTO  */
  i = 0;
  while (x > v[i] && i <= n) i++;
  for(j = n+1; j > i; j--) v[j] = v[j-1];
  v[i] = x;

  /* MOSTRAR ARREGLO CON ELEMENTO INSERTADO EN POSICION */
  printf("Resultado\n");
  for(i=0; i<=n; i++) printf("%d\n",v[i]);

  while(getchar()!='\n');
  getchar();

  return 0;
}


Saludos.
#104
Hola Cristhian.

También podes optimizar un poco el código de las funciones.

Código (cpp) [Seleccionar]

unsigned int valor_absoluto (int nro) {
 if (nro < 0)
   nro *= -1;
 return nro;
}

unsigned short int cambio_numeros(int nro) {
 if (nro % 2)
   return 0;
 else
   return 1;
}


Saludos.

Edito: Casi me olvidaba, aunque sutílmente ya lo mencionaron, por favor novato con 'v'  :)
#105
Programación C/C++ / Re: Consejo [Comparar]
16 Agosto 2012, 23:51 PM
Hola Magiwuan.

Proba de este modo:
Código (cpp) [Seleccionar]

 if (strcmp(paciente1[pos].sexo, "s") == 0)
   contadorsexoF++;


Saludos.

Edito: No había visto la respuesta de avesudra que también te funcionará.
#106
Hola xiruko.

En realidad el espacio extra reservado es para el elemento a insertar. Y tenes razón, se me escapó el free... :(

Saludos.
#107
Hola.

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

int main(int argc, char* argv[]) {
 int *vec, n_elem, elem, i, j;

 randomize();

 /* cantidad de elementos */
 printf("Cantidad de enteros?: ");
 scanf("%d",&n_elem);
 while(getchar()!='\n');

 /* dimensionar arreglo */
 vec = (int*)malloc((n_elem+1)*sizeof(int));

 /* ingreso aleatorio (0-99) */
 for(i = 0; i < n_elem; i++) vec[i] = rand()%100;

 /* buble  */
 for(i=0; i < n_elem; i++)
   for(j=0; j < n_elem; j++)
     if (vec[i] < vec[j]) {
       vec[i] ^= vec[j];
       vec[j] ^= vec[i];
       vec[i] ^= vec[j];
     }

 /* mostrar arreglo ordenado */
 printf("\nArreglo ordenado:   ");
 for(i=0; i < n_elem; i++) printf("%3d",vec[i]);

 /* pedir elemento a insertar */
 printf("\nNumero a insertar:   ");
 scanf("%d", &elem);

 /* insertar elemento */
 i = 0;
 while (elem > vec[i] && i < n_elem) i++;
 for(j = n_elem+1; j > i; j--) vec[j] = vec[j-1];
 vec[i] = elem;

 /* mostrar arreglo con elemento insertado */
 printf("\nArreglo final:      ");
 for(i=0; i < n_elem+1; i++) printf("%3d",vec[i]);

 while(getchar()!='\n');
 getchar();

 return 0;
}


Saludos.
#108
Programación C/C++ / Re: Ejercicio en C...
3 Agosto 2012, 23:10 PM
Hola.


int sumardigitos(int nro) {
int suma=0;
  while (nro) {
    suma += nro % 10;
    nro = nro / 10;
  }
  return suma;
}


Saludos.
#109
CitarHe probado tu código pero me da error en la linea 28

Hola WiseHidden.

Agrega :

Código (cpp) [Seleccionar]
#include<iomanip.h>

Saludos.
#110
Hola.

Yo tampoco entiendo lo que buscas, por ejemplo en el caso 1:
Citar
Prestamo 100€ al 5% en 3 Meses

Meses    Monto a pagar mensualmente
1           35
2           35
3           35
Total: 105

No le veo mucho sentido mostrar numerado 3 veces que debe pagar $35, bastaría hacer el cálculo e informar: "Ud. debe pagar N cuotas de $xx.xx debiendo un total de $xx.xx".

Si lo que buscas es obtener el interés acumulado o interés compuesto (no soy muy docto en el tema así que disculpas por los términos), creo que podrías hacer algo por el estilo:
Código (cpp) [Seleccionar]
 
...
 double MtoInicial, Interes;
 int Meses;

 cout << "Monto inicial: ";
 cin >> MtoInicial;
 cout << endl;

 cout << "Interes mensual: ";
 cin >> Interes;
 cout << endl;

 cout << "Candidad de meses: ";
 cin >> Meses;
 cout << endl;

  cout << "Mes\t" << "Interes\t" << "Cuota" << endl;
  cout << "-----------------------------" << endl;
  double Monto = MtoInicial;
  cout << setprecision(2) << fixed;
  for( int i = 1; i<= Meses; i++) {
      cout << i << "\t" << Interes <<"%" << "\t"<< "$" << Monto << endl;
      Monto += Monto * Interes /100;
  }

  cout << "-----------------------------" << endl;
  cout << "Monto final: " << "$" << Monto;
...

No sé si es lo que estás buscando pero quizá te dé alguna idea...

Saludos.