Suma de racionales

Javier Vicente Sabroso

/*Este programa suma dos racionales y los muestra por pantalla*/

#include <iostream>
using namespace std;

typedef struct{
int numerador;
int denominador;} Racional;

int main()
{
Racional suma(Racional x, Racional y);
void leer_racional(Racional);

int n1, d1, n2, d2;

cout << “Dame un numero racional, primero su numerador y luego su denominador: “;
cin >> n1 >> d1;
Racional r1;
r1.numerador=n1;
r1.denominador=d1;

cout << “\nDame otro numero racional: “;
cin >> n2 >> d2;
Racional r2;
r2.numerador=n2;
r2.denominador=d2;

cout << “\nLa suma de los racionales es: “;
leer_racional(suma(r1,r2));

return 0;
}

void leer_racional(Racional r)
{
int a=0, b=0;
a=r.numerador;
b=r.denominador;

cout << a << “/” << b;
}

Racional suma(Racional x, Racional y)
{
Racional s;
s.numerador=x.numerador*y.denominador+y.numerador*x.denominador;
s.denominador=x.denominador*y.denominador;

return s;
}

Anuncios
Publicado en Informática e Internet | Deja un comentario

Escalar por matriz

Hugo Salvador Gonzalo

#include <stdio.h>
#include <stdlib.h>
# define DIM 3
void leer_matriz (int A[DIM][DIM]);
void escribir_matriz (int A[DIM][DIM]);
void escalar_por_matriz (int k, int A[DIM][DIM], int B[DIM][DIM]);

int main()
{
int A[DIM][DIM];
int k;
leer_matriz(A);
escribir_matriz(A);
printf(“Dame un entero: “);
scanf(“%d”,&k);
escalar_por_matriz (k,A,B);
escribir_matriz (B);
system(“PAUSE”);
return 0;
}

void leer_matriz (int A[DIM][DIM])
{
int i,j;
for(i=0;i<DIM;i++)
{
printf (“Dame los %d datos de la fila %d: n”,DIM,i+1);
for(j=0;j<DIM;j++)
scanf(“%d”,&A[i][j]);
}
}

void escribir_matriz (int A[DIM][DIM])
{
int i,j;
printf(“Esta matriz es: n”);
for (i=0;i<DIM;i++)
{
for(j=0,j<DIM;j++);
printf(“%d”,A[i][j]);
printf(“\n”);
}
}

void escalar_por_matriz(int k, int A[DIM][DIM], int B[DIM][DIM])
{
int i,j;
for(i=0;i<DIM;i++);
for(j=0;j<DIM,j++);
B[i][j]=k*A[i][j];
}

Publicado en Informática e Internet | Deja un comentario

Pirámide de asteriscos

DIEGO MEDIEL CUADRA

#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
int n, i, j, k, p;

do{
cout << “Introduce un numero entero entre 1 y 35: “;
cin >> n;
} while (n<0 || n>35);
//para hacer la piramide mas grande
//cambiar el 35 por otro numero

for (i=1; i<=n; i++)
{
for (k=n; k>=i; k–) cout << ” “;
for (j=1; j<=i; j++) cout << “*”;
for (p=1; p<=i; p++) cout << “*”;

cout << endl;
}
return 0;
}

Publicado en Informática e Internet | Deja un comentario

Array de 100 números aleatorios del 1 al 1000

Hugo Salvador Gonzalo

/*Array de 100 números aleatorios del 1 al 1000. Una vez creado,
mostrar el contenido y después organizarlo de forma que estén juntos
los elementos pares y los impares. A continuación, volver a mostrar el array.*/

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define TAM 100
void escribirArray(int a[],tamanio);

int main(){
int a[TAM];
int par[TAM]={0};
int impar[TAM]={0};
int i,j;
srand(time(NULL));
for(i=0;i<TAM,i++){
a[i]=rand()%1000+1;
}
printf(“Primer array:\n”);
escribirArray(a,TAM);
for(i=0;i<TAM;i++){
if(a[i]%2==0)
par[i]=a[i];
else
impar[i]=a[i];
}
printf(“\nPar:\n”);
escribirArray(par,TAM);
printf(“\nImpar:\n”);
escribirArray(impar,TAM);
j=0;
for(i=0;i<TAM;i++);{
if(par[i]!=0);{
a[j]=par[i];
j++;
}
}
printf(“\resultado final:\n”);
escribirArray(a,TAM);
}

void escribirArray(int a[],int tamanio){
int i;
for(i=0;i<tamanio;i++){
printf(“%d”,a[i]);
}
printf(“\n”);
}

Publicado en Informática e Internet | Deja un comentario

Conversor CELSIUS – KELVIN

DIEGO MEDIEL CUADRA

#include <iostream>
using namespace std;

int main()
{
double kelv, celsius, x;

do {
cout << endl << “escribe: ” << endl;
cout << “1–>para conversion de grados Celsius a Kelvin”<< endl;
cout << “2–>para conversion de Kelvin a grados Celsius”<< endl;
cin >> x;
}while (x!=1&&x!=2);

if (x==1){
cout << “Dame los Kelvin: “;
cin >> kelv;
celsius=kelv-273;
cout << “El valor en grados Celsius es: ” << celsius << endl << endl;
} else {
cout << “Dame los grados Celsius: “;
cin >> celsius;
kelv=celsius+273;
cout << “El valor en Kelvin es: ” << kelv << endl << endl;
}
return 0;
}

Publicado en Informática e Internet | Deja un comentario

La anterior de 3 fechas dadas

DIEGO MEDIEL CUADRA

// PROGRAMA QUE COMPARA 3 FECHAS Y DICE CUAL ES ANTERIOR A LAS OTRAS DOS
#include <iostream>
#include <stdlib.h>
using namespace std;

struct fecha {
int d, m, a;
};

bool esBisiesto(int a);
int nDias(int m, int a);
struct fecha fechaAnterior1(struct fecha x, struct fecha y,struct fecha z);
bool sonFechasIguales1(struct fecha x, struct fecha y, struct fecha z);
bool esAnterior(struct fecha x, struct fecha y);
void escribirFecha(struct fecha x);
bool fechaCorrecta(struct fecha x);

int main()
{
struct fecha x, y, z;

do{
cout << “Introduce la primera fecha: “; cin >> x.d >> x.m >> x.a;
}while(!fechaCorrecta(x));

do{
cout << “Introduce la segunda fecha: “; cin >> y.d >> y.m >> y.a;
}while(!fechaCorrecta(y));

do{
cout << “Introduce la tercera fecha: “; cin >> z.d >> z.m >> z.a;
}while(!fechaCorrecta(z));
cout << endl;

if (sonFechasIguales1(x,y,z))
cout<< “Las tres fechas son iguales.”;
else
{
cout << “La fecha “;
escribirFecha(fechaAnterior1(x,y,z));
cout << ” es anterior a las otras dos.”;
}
cout << endl << endl; system(“PAUSE”);
return 0;}

bool esBisiesto(int a) {
return (a % 400 == 0) || (a % 4 == 0 && a % 100 != 0);
}

int nDias(int m, int a) {
switch(m) {
case 2:
if (esBisiesto(a)) return 29;
else return 28;
case 4: case 6: case 9: case 11: return 30;
default: return 31;}}

struct fecha fechaAnterior(struct fecha x, struct fecha y) {
if (x.a < y.a) return x;
else if (x.a > y.a) return y;
else if (x.m < y.m) return x;
else if (x.m > y.m) return y;
else if (x.d <= y.d) return x;
else return y;}

bool sonFechasIguales(struct fecha x, struct fecha y) {
return (x.d == y.d && x.m == y.m && x.a == y.a);}

void escribirFecha(struct fecha x) {
if (x.d<10) cout << 0;
cout << x.d << “/”;
if (x.m<10) cout << 0;
cout << x.m << “/” << x.a;
}

bool fechaCorrecta(struct fecha x )
{
return (x.a>1590 && x.m>0 && x.m<13 && x.d>0 && x.d <= nDias(x.m,x.a));
}

bool sonFechasIguales1(struct fecha x, struct fecha y, struct fecha z)
{
return (sonFechasIguales(x,y) && sonFechasIguales(y,z));}

bool esAnterior(struct fecha x, struct fecha y)
{
if (x.a != y.a) return (x.a < y.a);
else if (x.m != y.m) return (x.m < y.m);
return (x.d <= y.d);
}

struct fecha fechaAnterior1(struct fecha x, struct fecha y,struct fecha z)
{
if (esAnterior(x,y) && esAnterior(x,z)) return x;
if (esAnterior(y,x) && esAnterior(y,z)) return y;
return z;}

Publicado en Informática e Internet | Deja un comentario

Cálculo del número e

Hugo Salvador Gonzalo

#include <stdio.h>
#include <stdlib.h>
int main()
{
float sumatorio, producto,num;
producto=1;
sumatorio=1;
for(num=1;num<=10;num++)
{
producto=producto*num;
sumatorio=sumatorio+(1/producto);
}
printf(“El numero e es: %f”,sumatorio);
system(“pause”);
return 0;
}

Publicado en Informática e Internet | Deja un comentario