Hacer un programa que lea un año y que el mismo determine si el año es bisiesto
1. 01. Hacer un programa que lea un año y que el mismo determine si el año es bisiesto, bajo las siguientes
condiciones. Un año es bisiesto si es divisible por 4, excepto el último de cada siglo (aquel divisible por 100),
salvo que este último sea divisible por 400.
Solución
/*Lo siguiente se debe digitar en el compilador*/
#include <iostream>
/*incluimos la siguiente linea de código para poder usar
cout, cin y otros incluidos en la misma librería de forma corta y sin errores*/
using namespace std;
int main ()
{
long ano;
cout <> ano;
/*primero vemos si es divisible por 4*/
if (ano % 4 == 0)
{ /*si si es divisible el programa entra por aca
y revisa en la siguiente linea si es divisible por 100
si no lo es entonces el año es bisiesto*/
if (ano % 100 == 0)
{ /*si si es divisible por 100 entonces pregunta si es divisible por 400*/
if (ano % 400 == 0)
{ /*aunque sea divisible por 100 si es divisible por 400 es bisiesto*/
cout << ano << " es bisiesto";
}
else
{ /*si solo es divisible por 4 y por 100 no lo es*/
cout << ano << " no es bisiesto";
}
}
else
{ /*esto se cumple cuando el año es divisible por 4 y no por 100 por lo que el año
2. si es bisiesto*/
cout << ano << " es bisiesto";
}
}
else
cout << ano << " no es bisiesto";
};
/*fin del programa*/
02. El enunciado es: elabore un algoritmo que determine si el numero es divisible entre otro numero.
nos dicen que para saber que un numero es divisible entre otro numero se debe sumar los dígitos del
numero y dividirlo.
1_ Inicio
2_ entero numero1,numero2,suma,cociente,guardado
3_ Leer (numero1,numero2)
4_ guardado=numero1
5_ Mientras numero1>0 hacer
6_ cociente=numero1 %10
7_ numero1=numero1 div 10
8_ suma=suma+cociente
9_ Fin mientras
10_Si (suma%numero2=0) Entonces
11_ Imprimir (A,”es un numero divisible de “,num2)
12_sino
13_ Imprimir (A,”no es un numero divisible de”,num2)
14_Fin si
15-Fin
3. Bueno, creo que esto resuelve tu problema, espero que te ayude
#include <stdio.h>
#include <stdlib.h>
int aparece (char *,char);
main()
{
char cadena[50],aux;
int i,numero = 2035622352;
int * cont;
/*copio el numero en un cadena
por lo que cuentas del ejercicio, aqui los numeros los trata
mas bien como caracteres que como numeros, asi que es mejor pasarlos*/
sprintf(cadena,"%d",numero);
puts(cadena);
/*voy leyendo la cadena*/
printf("el numero esta compuesto por:n");
for(i =0; i < strlen(cadena); i++)
printf("%c ",cadena[i]);
printf("n");
/*ahora cuento cuantas veces sale cada numero*/
for(i = 0; i < strlen(cadena); i++)
{
aux = cadena[i];//para mostrar de que digito estamos hablando
//este if lo ponemos para que nos cuente cuantas veces aparece un digito
//solamente una vez
if(cadena[i]!='$')
printf("El numero %c, aparece %d vecesn",aux,aparece(cadena,cadena[i]));
}
system("PAUSE");
}
/*en esta funcion, contamos cuantas veces aparece un caracter
en una cadena. Cuando ya leemos un caracter, lo cambiamos pr un simbolo
(aqui he usado $ como podria haber usado cuanlquier otra cosa)
para que no volvamos a contarlo.
Esto nos hace perder el valor original de la cadena, asi que cuidado
con el uso de esta funcion*/
int aparece(char * cadena, char caracter)
{
int i, cont = 0;
for ( i = 0; i < strlen(cadena); i++)
if(cadena[i] == caracter)
{
cont++;
cadena[i] = '$';
}
return cont;
}
Yo lo he probao y me funciona bien, si tiens alguna duda me preguntas
Asunto: RE:ejercicio de c++ ayuda
Autor: robert (1 intervención)
Fecha: 08/03/2008 21:36:44
4. Primer Taller Grupal de Programación I 1-2008
Un bote tiene capacidad para llevar un máximo de 5 personas, y su capacidad máxima de carga es de 250
kilogramos (la carga que soporta sin hundirse). El bote se utiliza para llevar personas de un lado al otro de un
río. El bote sale cada vez que se complete su cupo de pasajeros o cuando el peso del próximo pasajero hace
que se exceda la capacidad máxima de carga (este pasajero no se lleva en el viaje, sino en el próximo). Sin
embargo es posible hacer que el bote salga antes de cumplirse las condiciones especificadas.
Se conoce el costo del pasaje por persona, pero a los estudiantes se les hace una rebaja del 30%, a los
profesores se les hace una rebaja del 25%, a los campesinos se les hace una rebaja del 20%, y a los obreros
se les hace una rebaja del 10%. Todos los demás pasajeros pagan el pasaje completo. Por otra parte, se
conoce el peso de cada persona que se va a subir al bote.
Los viajes que hace el bote en el día se numeran consecutivamente, a partir del número 1.
Escribir un programa en C para procesar la información de los viajes que hace el bote con el fin de obtener
estadísticas del trabajo del bote en un día. Los datos a obtener y presentar como resultados son:
- Número de viajes que hizo el bote en el día
- Número de personas transportadas en el día
- Número del viaje en que se llevó a la persona con menos peso, y el peso de dicha persona
- Número del viaje en que se llevó a la persona con mas peso, y el peso de dicha persona
- Número de viajes que se hicieron sin que se completara el cupo de pasajeros
- Valor total ganado en el día por el bote
Asunto: RE:ejercicio de c ayuda
Autor: melvin8103 melvin8103@gmail.com (1 intervención)
Fecha: 24/04/2012 19:29:46
ayudame a desarrollar lo si es en c++
• Se debe de crear una clase que contenga como datos miembros a: Codigo Empleado, Nombres , Apellidos,
Salario Base, Desc ISSS del 5%, Desc AFP del12%, Desc Renta 10%, Otros Desc, debidamente validados,
Es decir, los arrays de tipo Nombres y Apellidos solo deberán aceptar letras y Salario Base, Desc ISSS, Desc
AFP, Desc Renta, Otros Desc, sólo números, caso contrario el registro no debe de ser guardado.
• En la pantalla inicial se debe de mostrar un menú, el cual debe de constar de 3 items: agregar, visualizar y
salir, los cuales estarán asociados a la llamada de los métodos agregar, visualizar y salir respectivamente.
 Agregar: Se podrán agregar empleados a la planilla, teniendo en cuenta lo siguientes puntos:
 Es obligatorio escribir al menos un nombre y un apellido del empleado, salario base ..
 Deberá de contar con mensajes de confirmación:
• Empleado agregado exitosamente.
• Empleado no agregado.
 Visualizar: Se podrá mostrar los datos calculados de todos los descuentos y el salario neto del
empleado
 Salir: Deberá mostrar un mensaje de advertencia. “Está seguro que desea salir de la aplicación,
para confirmar escribir “S ó s” y para cancelar “N ó n”.
Temas que pueden ayudar a la realización de dicho programa y a su vez serán evaluados son los siguientes:
• Clases y métodos.
Asunto: RE:ejercicio de c++ ayuda
Autor: eduardo juarez jeronimo (1 intervención)
Fecha: 12/11/2006 00:25:32
hola necesito ayuda en programacion necesito lo siguiente: Escribir un programa interactivo en C que pase
una cantidad entera positiva a numeración romana (por ejemplo 12 se convierte en XII, 14 en XIV, etc.).
Diseñar el programa para que se ejecute repetidamente hasta que se introduzca 0.
realmente se los agradesco
Asunto: RE:ejercicio de c++ ayuda
Autor: Maesla (5 intervenciones)
5. Fecha: 12/11/2006 21:24:02
Bueno, te he hecho este codigo (es lo que tiene el domingo que te aburres)
Basicamente lo que hace el codigo es descomponer el numero en miles, centenas, quintenas (se dice asi?),
etc, y luego va formando el numero en romano.
No esta comentado, si tienes alguna duda, me lo dices por aqui
#include <stdio.h>
#include <stdlib.h>
void montar_cadena(char * cadena,int numero,char *simbolo,char *simboloAux);
void pasar_romano(int,char *);
main()
{
int numero = -1;
char romano[25];
while(numero != 0)
{
puts("¿Que numero quiere pasar a romano?");
puts("0 para salir");
do
{
scanf("%d",&numero);
if(numero < 0) puts("El numero debe ser positivo");
}while(numero < 0);
pasar_romano(numero,romano);
printf("%d en numeros romanos es %sn",numero,romano);
}
system("PAUSE");
}
void pasar_romano(int numero,char * romano)
{
int i, aux;
int miles,quinientos,cienes,cincuentas,dieces,cincos,unos;
strcpy(romano,"");
aux = numero;
miles = numero /1000;
aux = aux - miles*1000;
quinientos = aux /500;
aux = aux - quinientos*500;
cienes = aux /100;
aux = aux - cienes*100;
cincuentas = aux / 50;
aux = aux - cincuentas*50;
dieces = aux /10;
aux = aux - dieces*10;
cincos = aux / 5;
aux = aux - cincos*5;
unos = aux;
//printf("%d miles %d quinientos %d cienes %d cincuentas %d dieces %d cincos %d
unosn",miles,quinientos,cienes,cincuentas,dieces,cincos,unos);
montar_cadena(romano,miles,"M","");
8. switch(opl)
{
case'a':
printf("Escriba su nombre: ");
scanf("%s", &nom);
printf("Su nombre es %s ", nom);
getch();
case's':break;
}}
while(s!='s');
printf("Gracias:... ");
getch();
/*/ char cad[100];
do{
printf("
Escriba una cadena (40 caracteres max.)
");
scanf("%s",&cad);break;
}while(s!='s');
printf("El nombre es: %s, presiona s para regresar al menu.",cad);
getch(); /*/
}
void fecha (void)
{
int num1, num2, mes;
char a;
printf("
Introduzca un dia: (del 1 al 31)");
scanf("%d",&num1);
printf("Introduzca un mes:(numeros)
");
scanf("%d", &mes);
printf("Introduzca un a¤o:
");
scanf("%d", &num2);
gotoxy(9,40);cprintf("La fecha que eligio fue: %d / %d /
%d",num1,mes,num2);
getch();
}
void tel(void)
{
int area,cod,num[100];
printf("
Introduzca el codigo de area de el telefono (3 digitos):
");
scanf("%d", &area);
printf("Introduzca el codigo local (7 numeros):
");
scanf("%d", &cod);
printf("Introduzca el numero telefonico (5 numeros:
");
scanf("%d", &num);
printf("El numero telefonico es: %d - %d -", area,cod);
printf("%d",num);
getch();
}
void incidencia(void)
{
char cad[100];
int cont,cont3,cont2,q;
printf("
Escriba una cadena (40 caracteres max.)
");
9. gets(cad);
q=strlen(cad);
printf("%i
",q);
cont3=0;
for(cont=0;cont<q;cont++)
{
if (cad[cont]==0) continue; /* si la letra ya se conto antes, que pase a
la siguiente letra*/
cont3=1; /* Inicializa en acumulador de repeticiones en 1 x q ya esta 1
vez */
for(cont2=cont+1; cont2 < q; cont2++) /*empieza a comparar con la letra
que sigue */
{
if(cad[cont]==cad[cont2]) {cont3=cont3+1; cad[cont2]=0;} /*"borra la
letra que ya se repitio */
} /* hasta que termina de comparar esribe */
printf("
La letra %c esta presente %i vez/veces",cad[cont],cont3);
getch();
}
}