Menú principal

Mostrando entradas con la etiqueta ejercicios en C. Mostrar todas las entradas
Mostrando entradas con la etiqueta ejercicios en C. Mostrar todas las entradas

miércoles, 2 de septiembre de 2020

Ordenar manualmente un vector - C++

Se pide al usuario introducir 5 números los cuales serán almacenados en un vector para posteriormente ordenarlos de menor a mayor.

 1 #include <iostream>
 2  
 3  using namespace std;
 4  
 5  int main()
 6  {
 7      int nota[5];
 8      int mini;
 9      int pos_min;
10      int aux;
11  
12      for(int i=0; i<5; i++)
13      {
14          cout << "Intro nota "<< i+1<< ":  ";
15          cin >> nota [i];
16      }
17  //_____________________________________
18      for(int j=0; j<5; j++)
19      {
20          mini=nota[j];
21          pos_min=j;
22          for(int i=j; i<5; i++)
23          {
24              if (nota[i]<mini)
25              {
26                  mini=nota[i];
27                  pos_min=i;
28              }
29          }
30          //Intercambia
31          aux=nota[pos_min];
32          nota[pos_min]=nota[j];
33          nota[j]=aux;
34      }
35  
36  //________________________________________
37  
38  
39      cout << "Las nota son: " ;
40      for(int i=0; i<5; i++) 
41          cout << endl << nota[i] << "," ;
42  
43  }

domingo, 26 de junio de 2016

Dibuja cuadrado o rectángulo - C

/*Programa en el que el usuario decide si dibujar
un cuadrado o un rectángulo e introduce el
tamaño del elgido. Posteriormente el programa
lo representara*/

#include <stdio.h>

int main()
{
    int tam, tam1, tam2, i, j, k, q, opcion;

    printf("¿Qué desea dibujar?\n");
    printf("    1- Cuadrado\n");
    printf("    2- Rectangulo\n");
    printf("Elija opción: ");
    scanf("%d", &opcion);

    switch(opcion)
    {
    case 1:
    {
        printf("Has elegido cuadrado\n");
        //Usuario introduce tamaño del cuadrado
        printf("Intro tamaño del cuadrado: ");
        scanf("%d", &tam);

        //Primera fila
        for(i=1; i<tam; i++)
            printf("- ");

        //Primera columna
        printf("-\n");
        for(j=2; j<tam; j++)
        {
            printf("|");
            //Segunda columna
            for(k=2; k<=tam; k++)
                printf("  ");
            printf("|\n");
        }
        //Ultima fila
        for(q=1; q<=tam; q++)
            printf("- ");

        break;
    }

    case 2:
    {
        //Usuario introduce tamaño del rectángulo
        printf("Intro un lado del rectangulo: ");
        scanf("%d", &tam1);

        printf("Intro otro lado del rectangulo: ");
        scanf("%d", &tam2);

        //Primera fila
        for(i=1; i<tam1; i++)
            printf("- ");

        //Primera columna
        printf("-\n");
        for(j=2; j<tam2; j++)
        {
            printf("|");
            //Segunda columna
            for(k=2; k<=tam1; k++)
                printf("  ");
            printf("|\n");
        }
        //Ultima fila
        for(q=1; q<=tam1; q++)
            printf("- ");

        break;
    }
    }
}


Realiza un cuadrado con cualquier numero - C

/*Programa en el que el usuario introduce
el tamaño de un cuadrado y el programa se
lo representa con asteriscos*/

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

int main()
{
    int tam, i, j, k, q;

    //Usuario introduce tamaño del cuadrado
    printf("Intro tamaño del cuadrado: ");
    scanf("%d", &tam);

    //Primera fila
    for(i=1; i<tam; i++)
        printf("* ");

    //Primera columna
    printf("*\n");
    for(j=2; j<tam; j++)
    {
        printf("*");
        //Segunda columna
        for(k=2; k<=tam; k++)
            printf("  ");
        printf("*\n");
    }
    //Ultima fila
    for(q=1; q<=tam; q++)
        printf("* ");
}


sábado, 25 de junio de 2016

Calcular valor de una resistencia - C

/*Calcular el valor de una resistencia
utilizando únicamente los 3 primeros
colores*/

#include <stdio.h>

int main()
{
    int col1, col2, col3;

    printf("    COLORES     \n");
    printf("    neg=0 \n");
    printf("    mar=1 \n");
    printf("    roj=2 \n");
    printf("    nar=3 \n");
    printf("    ama=4 \n");
    printf("    ver=5 \n");
    printf("    azu=6 \n");
    printf("    vio=7 \n");
    printf("    gri=8 \n");
    printf("    bla=9 \n");

    printf("Intro numero al que corresponda el primer color:  ");
    scanf("%d", &col1);
    printf("Intro numero al que corresponda el segundo color: ");
    scanf("%d", &col2);
    printf("Intro numero al que corresponda el tercer color: ");
    scanf("%d", &col3);

    if(col3==0)
        printf("La resistencia es de: %d%d", col1, col2);
    else if(col3==1)
        printf("La resistencia es de: %d%d0", col1, col2);
    else if(col3==2)
        printf("La resistencia es de: %d%d00", col1, col2);
    else if(col3==3)
        printf("La resistencia es de: %d%d000", col1, col2);
    else if(col3==4)
        printf("La resistencia es de: %d%d0000", col1, col2);
    else  if(col3==5)
        printf("La resistencia es de: %d%d00000", col1, col2);
    else if(col3==6)
        printf("La resistencia es de: %d%d000000", col1, col2);
    else
        printf("El color no es válido");

}


Elige para calcular area (switch) - C

/*Programa para calcular area de
un cuadrado, un triangulo, un rectangulo
y un circulo dandole a elegir la opcion*/

#include <stdio.h>

int main()
{
    int opcion;
    float area, l1, l2, radio, h, base;

    printf("        MENU    \n");
    printf(" 1- Cuadrado\n");
    printf(" 2- Rectangulo\n");
    printf(" 3- Triangulo\n");
    printf(" 4- Ciruclo\n");
    printf("Por favor introduce una opcion: ");
    scanf("%d", &opcion);

    switch(opcion)
    {
        case 1:
        {
            printf("Intro lado: ");
            scanf("%f", &l1);

            area=l1*l1;
            printf("El area es de: %f", area);

            break;
        }

        case 2:
        {
            printf("Intro lado 1: ");
            scanf("%f", &l1);

            printf("Intro lado 2: ");
            scanf("%f", &l2);

            area=l1*l2;
            printf("El area es de: %f", area);

            break;
        }

        case 3:
        {
            printf("Intro base: ");
            scanf("%f", &base);

            printf("Intro altura: ");
            scanf("%f", &h);

            area=(base*h)/2;
            printf("El area es de: %f", area);

            break;
        }

        case 4:
        {
            printf("Intro radio: ");
            scanf("%f", &radio);

            area=(radio*radio)*3.14;
            printf("El area es de: %f", area);

            break;
        }

        default:
            printf("La opcion no es correcta");
    }
}


sábado, 11 de junio de 2016

Teorema Pitágoras (switch) - C

/*Este programa caculará un cateto o la
hipotenusa de un triangulo rectangulo*/

#include <stdio.h>
#include <math.h>

int main()
{
    float c1, c2, h;
    int opcion;

    printf("         MENU    \n");
    printf("1. Introducir dos catetos\n");
    printf("2. Introducir un cateto y una hipotenusa\n\n");
    printf("Escoge una opcion: ");
    scanf("%d", &opcion);

    switch(opcion)
    {
        case 1:
        {
            printf("\nIntro cateto 1: ");
            scanf("%f", &c1);

            printf("Intro cateto 2: ");
            scanf("%f", &c2);

            h=sqrt((c1*c1)+(c2*c2));
            printf("La hipotenusa es: %f\n", h);

            break;
        }

        case 2:
        {
            printf("\nIntro un cateto: ");
            scanf("%f", &c1);

            printf("Intro hipotenusa: ");
            scanf("%f", &h);

            c2=sqrt((h*h)-(c1*c1));
            printf("El otro cateto es: %f\n", c2);

            break;
        }

        default:
            printf("La opción es incorrecta");
    }

}


Muestra código ASCII - C

#include <stdio.h>

int main()
{
    int x;

    for(x=1; x<256; x++)
        printf("\n%d -- %c", x, x);
}


Teorema de Pitágoras - C

/*Programa que calcula la hipotenusa
de un triangulo recctangulo sabiendo
mediante el teorema de Pitágoras*/

#include <stdio.h>
#include <math.h>

int main()
{
    float c1, c2, h;

    printf("Intro cateto 1: ");
    scanf("%f", &c1);

    printf("Intro cateto 2: ");
    scanf("%f", &c2);

    h=sqrt((c1*c1)+(c2*c2));

    printf("La hipotenusa es de: %f", h);
}


¿El número es primo o no? - C

/*Programa que pide un numero al
usuario y le dice si es primo o no*/

#include <stdio.h>

int main()
{
    int n, i;

    printf("Intro numero: ");
    scanf("%d", &n);

    for(i=(n/2); i>1; i--)
    {
        if(n%i==0)
        {
            printf("El numero no es primo\n");
            break;
        }
        else
        {
            printf("El numero es primo\n");
            break;
        }
    }
    return 1;
}

sábado, 4 de junio de 2016

Media de números de un vector - C

/*Calcular media de los numeros introducidos
por el usuario en un vector*/

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

int main()
{
    int n, i;
    float suma=0;
    float media;

    printf("¿Cuantos numeros quieres introducir?: ");
    scanf("%d", &n);

    int num[n];

    for(i=0; i<n; i++)
    {
        printf("Intro %dº nuemro: ", i+1);
        scanf("%d", &num[i]);
    }

    for(i=0; i<n; i++)
        suma=suma+num[i];

    media=suma/n;
    printf("La media es: %f", media);
}


¿Par o impar? (vector) - C

/*Programa que mediante un vector te dice
si los numeros introducidos en este son pares
o impares*/

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

int main()
{
    int n;
    int i;

    printf("¿Cuantos datos quieres introducir?: ");
    scanf("%d", &n);

    int datos[n];

    for(i=0; i<n; i++)
    {
        printf("Intro dato %d: ", i+1);
        scanf("%d", &datos[i]);
    }

    for(i=0; i<n; i++)
    {
        if(datos[i]%2==0)
            printf("El numero %d es par\n", datos[i]);

        else
            printf("El numero %d es impar\n", datos[i]);
    }
}


Muestra vector del revés - C

/*Programa para introducir datos en un vector
y despues mostrarlos del reves*/

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

int main()
{
    int datos[5], i;

    /*INTRODUCIÓN DE DATOS*/

    for(i=0; i<5; i++)
    {
        printf("Intro dato %d: ", i+1);
        scanf("%d", &datos[i]);
    }

    printf("\n"); //RETORNO DE CARRO

    /*VISUALIZACIÓN DEL VECTOR*/

    for(i=4; i>=0; i--)
        printf("El %dº dato es: %d\n", i+1, datos[i]);
}

sábado, 28 de mayo de 2016

Calcular vértice de una parábola - C

Calcular el las coordenadas del vértice de una parábola, sabiendo que la coordenada x se calcula con la expresión: -b/(2*a) y la coordenada y sustituyendo el valor de la x en la parábola.

/*Calcula el vertice de una parabola*/

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

int main()
{
    float a, b, c;
    float x, y; //coordenada y ordenada del vertice

    printf("Intro la parábola con forma ax^2+bx+c");

    printf("\nIntro a: ");
    scanf("%f", &a);

    printf("Intro b: ");
    scanf("%f", &b);

    printf("Intro c: ");
    scanf("%f", &c);

    if(a==0)
    {
        printf("La expresion introducida es una recta.");
        printf("\nEl valor de a tiene que ser diferente de 0.\n");
    }
    else
    {
        x=(-b/(2*a));
        y=a*(x*x)+b*x+c;

        printf("Las cordenadas del vertice son (%f , %f)", x, y);
    }
}



jueves, 26 de mayo de 2016

Calcular ecuación 2º grado - C

/*Calcula la ecuacion de 2 grado*/

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

int main()
{
    float a, b, c;
    float s1, s2;

    printf("La ecuación se introducirá de la siguiente manera ax^2 + bx + c\n");

    printf("Intro a: ");
    scanf("%f", &a);

    if(a==0)
    {
        printf("a tiene que ser distinto de 0\n");
        printf("Por favor reinicie el programa\n");
    }
    else
    {
        printf("Intro b: ");
        scanf("%f", &b);

        printf("Intro c: ");
        scanf("%f", &c);

        s1=(-b+sqrt(b*b-4*a*c))/(2*a);
        s2=(-b-sqrt(b*b-4*a*c))/(2*a);

        printf("\nLa primera solución es: %f", s1);
        printf("\nLa segunda solución es: %f", s2);
    }
}


sábado, 21 de mayo de 2016

Factorial de un número - C

Simplemente comentar que el factorial de un numero se calcula de la siguiente manera:

n! = n * (n-1) * (n-2) ... * 1
Ejemplo:

4! = 4 * 3 * 2 * 1 = 24

/*Calcula el factorial de un numero
introducido por el usuario*/
 


#include <stdio.h>

#include <stdlib.h> 
int main ( ) 
{ 
    
int num , i ; 
    
int total = 1 ; 

    
printf ( "Intro numero: " ) ; 
    scanf
 ( "%d" , & num ) ; 

    
for ( i = num ; i > 0 ; i -- ) 
    
{ 
        total
 = i * total ; 
    
} 

    
printf ( "%d\n" , total ) ; 
}

Números pares (for) - C

/*Calcula con un bucle for los numeros pares
comprendidos entre el 0 y el 20*/
 


#include <stdio.h>

#include <stdlib.h> 
int main ( ) 
{ 
    
int i ; 

    
for ( i = 0 ; i < 21 ; i += 2 ) //Se utiliza el +=2 para ir de dos en dos 
    
{ 
        
printf ( "%d \n" , i ) ; 
    
} 
}

sábado, 14 de mayo de 2016

Función atoi - C

En este ejercicio utilizaremos una función que sirve para convertir una cadena de caracteres (que tenga algún número) en una variable que me guarde ese número ya sea int, float (atof)... En este caso será a int.

En el siguiente programa calcularemos los años que tiene el usuario.

/*Este programa calculará cuantos años tiene
el usuario sabiendo que estamos en el 2016.
El usuario introducira la fechar en formato:
DD/MM/AAAA*/

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

int main()
{
    char fecha[10];
    int i;
    char num[5];
    int anios;

    printf("Intro tu fecha de nacimiento (DD/MM/AAAA) : ");
    scanf("%s", fecha);

    if(strlen(fecha)!=10)
        printf("El formato debe de ser: DD/MM/AAAA");

    else
    {
        for(i=6; i<11; i++)//El año empieza en la posicion 7, fecha[6]
        {
            num[i-6]=fecha[i];
        }

        //Calculamos los años que tiene el usuario.
        anios=2016-atoi(num);

        printf("Tienes %d ", anios);
    }
}



viernes, 13 de mayo de 2016

¿Par o impar? - Función - C

Realizar función para que te diga si un número es par o impar y luego lo imprima.

SOLUCIÓN

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

int par (int numero);

int main()
{
   int numero, result;

   printf("Intro numero entero: ");
   scanf("%d", &numero);

   result=par(int numero);

   if(result==1)
   {
       printf("El numero es par");
   }
   else
   {
       printf("El numero no es par");
   }
}

int par(int numero)
{
    int total;

    total=numero%2==0;

    return total;
}

Función multiplicación - C

El siguiente ejercicio consiste en realizar una multiplicación con dos números que introduzca el usuario con una función.

SOLUCIÓN

#include <stdio.h>
#include <stdlib.h>
float Multiplica(float x, float y);

int main()
{
    float total;
    float x, y;

    printf("Intro el primer número: ");
    scanf("%f", &x);

    printf("Intro el primer número: ");
    scanf("%f", &y);

    total=Multiplica(x, y);

    printf("El resultado es: %f\n", total);
}

float Multiplica(float x, float y)
{
    float resultado;

    resultado=x*y;

    return resultado;
}


domingo, 1 de mayo de 2016

Función strlen (cuenta letras) - C

En el ejercicio que vamos a realizar hoy utilizaremos una nueva función, strlen, la cual sirve para contar el número de letras que tiene una cadena de caracteres (ej: Luis con la función strlen nos saldrá por pantalla 4).

Para utilizar esta función, necesitamos una librería que señalaremos en el inicio del programa (fuera del main). Necesitaremos incluir el fichero de cabecera:  #include<string.h>

Para ver como va esta función realizaremos un programa que pida el nombre al usuario y cuente el número de letras que tiene este.

Solución:


#include<stdio.h> 
#include<string.h> 
int main ( )
{
   
char nombre [ 10 ] ;
   
int numletras ;
   
   
printf ( "Intro nombre: " ) ;
    scanf
( "%s" , nombre ) ;
   
    numletras
= strlen ( nombre ) ;
   
   
printf ( "El numero de letras es: %d" , numletras ) ;
}