Horizontal

sábado, 17 de octubre de 2015

Factorial de un número entero positivo en forma recursiva

Factorial de un número entero positivo en forma recursiva
Código:
#include<stdio.h>
int factorial(int n)
{
    if( n < 2 )
        return 1;
    else{
        int respuesta;
        respuesta = factorial( n - 1 ) * n;
        return respuesta;
    }
}
int main() {
    int r,x = 5;
    r = factorial( x );
    printf("factorial ( %d ) = %d \n",x,r);
    return 0;
}
Salida:
factorial ( 5 ) = 120 

viernes, 16 de octubre de 2015

Factorial de un número entero positivo en forma iterativa

Factorial de un número entero positivo en forma iterativa
Código:
#include<stdio.h>
int factorial(int n)
{
    int r=1,i;
    for( i = 1; i <= n; i++)
        r *= i;
    return r;
}
int main()
{
    int r,x = 8;
    r = factorial( x );
    printf("factorial ( %d ) = %d \n",x,r);
    return 0;
}
Salida:
factorial ( 8 ) = 40320 

martes, 5 de mayo de 2015

Uso de la función memchr

Archivo de cabecera / Librería:
 string
Declaración:
#include<string.h>
void *memchr(const void *s,int c,size_t n);
Ejemplo:
#include<stdio.h>
#include<string.h>

int main(){
    char s[]="programas en c";
    char *t=memchr(s,'e',strlen(s));
    printf("es --> %s\n",t);
    return 0;
}
Salida:
 es --> en c

Uso de la función string ( )

jueves, 31 de julio de 2014

Uso de la función strcpy


Archivo de cabecera / Librería:
 string.h

Declaración:
 char *strcpy ( char *destino , const char *fuente );

Parámetros:
 destino
  Cadena que almacenará una copia de 'fuente'.
 fuente
  Cadena que se copiará.

Valor de retorno:
 Se retorna la cadena 'destino'.

Ejemplo:
#include<stdio.h>
#include<string.h>
int main(){
    char fuente[100]="hola mundo";
    char destino1[100],destino2[100];
    char *retorno1,*retorno2;

    retorno1=strcpy(destino1,fuente);
    retorno2=strcpy(destino2,"cadena a copiar");

    printf("fuente:   %s\n",fuente);
    printf("destino1: %s\n",destino1);
    printf("retorno1: %s\n",retorno1);
    printf("destino2: %s\n",destino2);
    printf("retorno2: %s\n",retorno2);
    return 0;
}

Salida:
 fuente:   hola mundo
 destino1: hola mundo
 retorno1: hola mundo
 destino2: cadena a copiar
 retorno2: cadena a copiar

Implementación alternativa:
#include<stdio.h>
char *mi_strcpy(char *destino,char *fuente){
    int i;
    for(i=0;fuente[i]!='\0';i++)destino[i]=fuente[i];
    destino[i]='\0';
    return destino;
}
int main(){
    char fuente[100]="hola mundo";
    char destino1[100],destino2[100];
    char *retorno1,*retorno2;

    retorno1=mi_strcpy(destino1,fuente);
    retorno2=mi_strcpy(destino2,"cadena a copiar");

    printf("fuente:   %s\n",fuente);
    printf("destino1: %s\n",destino1);
    printf("retorno1: %s\n",retorno1);
    printf("destino2: %s\n",destino2);
    printf("retorno2: %s\n",retorno2);
    return 0;
}

Salida:
 fuente:   hola mundo
 destino1: hola mundo
 retorno1: hola mundo
 destino2: cadena a copiar
 retorno2: cadena a copiar

Uso de la función strcpy ( )

sábado, 21 de junio de 2014

Ordenamiento por intercambio - Burbuja

 Este algoritmo de ordenación realiza comparaciones sucesivas entre elementos adyacentes  comparando a los valores a[i] y a[i+1]. Finalizando con un ordenamiento de menor a mayor.

 Función para ordenamiento burbuja


  1. void burbuja(int *vector,int n){
  2. int i,j;
  3. for(i=1;i<n;i++)
  4. for(j=0;j<n-i;j++)
  5. if(vector[j]>vector[j+1]){
  6. int aux=vector[j];
  7. vector[j]=vector[j+1];
  8. vector[j+1]=aux;
  9. }
  10. }


Código


  1. #include<stdio.h>
  2. void burbuja(int *vector,int n){
  3. int i,j;
  4. for(i=1;i<n;i++)
  5. for(j=0;j<n-i;j++)
  6. if(vector[j]>vector[j+1]){
  7. int aux=vector[j];
  8. vector[j]=vector[j+1];
  9. vector[j+1]=aux;
  10. }
  11. }
  12. int main(){
  13. int i,j,n;
  14. int vector[1000];
  15. printf("ingrese la cantidad\n");
  16. scanf("%d",&n);
  17. printf("ingrese los valores\n");
  18. for(i=0;i<n;i++)
  19. scanf("%d",&vector[i]);
  20. //se ordena
  21. burbuja(vector,n);
  22. //ver ordenacion
  23. printf("ordenamiento por intercambio ( Burbuja )\n");
  24. for(i=0;i<n;i++)
  25. printf("%d ",vector[i]);
  26. printf("\n");
  27. return 0;
  28. }
Ejemplo de salida:
 ejemplo - ordenamiento por intercambio ( Burbuja )

domingo, 30 de marzo de 2014

Uso de la función strlen

Archivo de cabecera / Librería:
 string.h

Declaración:
 size_t strlen ( const char *string );

Parámetros:
 string
  La cadena a procesar.

Valor de retorno:
 Longitud de la cadena.

Ejemplo:
#include<stdio.h>
#include<string.h>
int main(){
    char string[100];
    printf("Ingrese el string: ");
    scanf("%s",string);
    int tam=strlen(string);
    printf("Su longitud es : %d\n",tam);
    return 0;
}

Salida:
 Ingrese el string: algoritmos
 Su longitud es : 10

Implementación alternativa:
#include<stdio.h>
int mi_strlen(char *string){
    int i;
    for(i=0;string[i]!='\0';i++);
    return i;
}
int main(){
    char string[100];
    printf("Ingrese el string: ");
    scanf("%s",string);
    int tam=mi_strlen(string);
    printf("Su longitud es : %d\n",tam);
    return 0;
}

Salida:
 Ingrese el string: algoritmos
 Su longitud es : 10

Uso de la función strlen ( )

domingo, 2 de junio de 2013

Relacionando char con int

Relacionando char con int

 La idea de esta relación es pues que podemos imprimir un char dado un entero y viceversa

 Por ejemplo el siguiente programa muestra los char que son generados por enteros:

  1. #include<stdio.h>
  2. int main(){
  3.     int i;
  4.     for(i=0;i<128;i++)
  5.         printf("%c ",i);
  6.    
  7. }

  El cual nos da el siguiente resultado:
      ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ 


 Con la misma ideal imprimimos números:



  1. #include<stdio.h>
  2. int main(){
  3.     char c='a';
  4.     printf("%c en entero es %d",c,c);
  5. }


 También podemos hacer:

  1. #include<stdio.h>
  2. int main(){
  3.     int i;
  4.     char c;
  5.     i=97;
  6.     c=i;
  7.    
  8.     printf("i de valor %d",i);
  9.     printf("\nc de valor %c",c);
  10. }
Related Posts Plugin for WordPress, Blogger...