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.
SOLUCIÓN ENUNCIADO 1:
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:
12345678910111213141516171819202122232425262728293031323334 #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:
12345678910111213141516171819202122232425262728 #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:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 #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;
}
Post A Comment:
0 comments: