Navigation
C

Programación en C: Indicar si un número n es capicúa && hallar subvectores con cierta condición && comprobar fecha

Compártelo:
ENUNCIADO 1:

 Algoritmo que indique si un número n es capicúa (se lee igual de izquierda a derecha que viceversa).


Pista: Inversa de un número

 ENUNCIADO 2:

Diseñar una función que indique cuántos subvectores, de cualquier tamaño estrictamente positivo y menor o igual que N, formados por elementos consecutivos del vector t de N enteros, suman el mismo valor que algún elemento del vector.


 ENUNCIADO 3:

Algoritmo que dados tres números d, m y a, representando el día, mes y año de una fecha, indique si la fecha es válida, considerando los años bisiesto. (Son años bisiestos los múltiplos de 4, excepto los múltiplos de 100 que no son múltiplos de 400).


SOLUCIÓN ENUNCIADO 1:

 #include<stdio.h>  
 int main()  
 {  
   int n,aux,digitos,reves;  
   printf("Digite un numero: ");  
   scanf ("%d",&n);  
   aux=n;  
   digitos=1;  
   while (aux>=10)  
   {  
     aux=aux/10;  
     digitos=digitos*10;  
   }  
   reves=alreves(n, digitos);  
   if (n==reves)  
   {  
     printf("NUMERO CAPICUO");  
   }  
   else  
     printf("NUMERO NO CAPICUO");  
 }  
 int alreves (int n, int digitos)  
 {  
   if (n<10)  
     return n;  
   else  
   {  
     int cociente,resto;  
     cociente=n/10;  
     resto=n%10;  
     return resto*digitos + alreves(cociente,digitos/10);  
   }  
 }  

SOLUCIÓN ENUNCIADO 2:


 #include<stdio.h>  
 #define N 8  
 int main()  
 {  
   int n,s,tamanno;  
   int t[N]= {1,2,3,4,3,6,7,8};  
   tamanno=N;  
   printf("Digite un numero: ");  
   scanf("%d",&n);  
   s=subvectores(t, tamanno, n);  
   printf("Hay un total de %d subvectores que suman el numero %d",s,n);  
 }  
 int subvectores(int v[], int tamanno, int n)  
 {  
   int i,x;  
   i=0;  
   x=0;  
   while (i<tamanno)  
   {  
     if (n==v[i]+v[i+1])  
     {  
       x=x+1;  
     }  
     i++;  
   }  
   return x;  
 }  

SOLUCIÓN ENUNCIADO 3:


 #include <stdio.h>  
 #include <stdlib.h>  
      int main()  
 {  
   int d,m,a;  
   printf("DIA: ");  
   scanf("%d",&d);  
   printf("Mes: ");  
   scanf("%d",&m);  
   printf("Anno: ");  
   scanf("%d",&a);  
   if (fechaCorrecta(d,m,a)==1)  
   {  
     printf ("FECHA CORRECTA\n");  
   }  
   else  
     printf ("FECHA INCORRECTA\n");  
 }  
 int fechaCorrecta (int d, int m, int a)  
 {  
   int exito;  
   exito=1;  
   if (m<=12 && m>0){  
     if (m==1 || m==3 || m==5 || m==7 || m==8 || m==10 ||m==12 && d>31 || d<0)  
     {  
       exito=0;  
     }  
     else if (m==4 || m==6 || m==9 ||m==11 && d>30 || d<0)  
     {  
       exito=0;  
     }  
     else if (m==2)  
     {  
       if (a%4==0 && a%100!=0 || a%400==0)  
       {  
         if (d>29 || d<0)  
         {  
           exito=0;  
         }  
       }  
       else  
       {  
         if (d>28 || d<0)  
         {  
           exito=0;  
         }  
       }  
     }  
   }  
   else{  
     exito=0;  
   }  
   return exito;  
 }  
Compártelo:

C

Post A Comment:

0 comments: