Vous êtes sur la page 1sur 10

ARREGLOS Y MATRICES - UNIDIMENSIONALES

EJERCICIO 1:

Realizar un programa que calcule el producto escalar de dos vectores.
CODIFICACION
#include <stdio.h>
#include <stdlib.h>

#define DIM 100
void leervector(int, float []);
float prod_escalar(int, float[],float[]);

int main()
{
int n; float x[DIM], y[DIM];

do
{
printf("\nIntroduce entero menor o igual que 100: ");
scanf("%d",&n);
}while ((0>n) || (n>DIM));

printf("\nIntroduce el primer vector\n");
leervector(n,x);
printf("\nIntroduce el segundo vector\n");
leervector(n,y);

printf("\nEl producto escalar es: %.2f\n",prod_escalar(n,x,y));

system("PAUSE");
return 0;
}

void leervector(int n, float v[])
{
int i;
for(i=0;i<n;i++)
{
printf("Introduce la componente %d: ",i+1);
scanf("%f",&v[i]);
}
}

float prod_escalar(int n, float v1[], float v2[])
{
float suma; int i;
suma=0;
for (i=0;i<n;i++)
suma=suma+v1[i]*v2[i];
return suma;
}

COMPILACION Y DEPURACION














EJECUCION





EJERCICIO 2:
Programar la suma de dos matrices cuadradas de dimensin DIM.

/*Suma de dos matrices cuadradas*/

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

#define DIM 100

void leer_matriz(int,float[DIM][DIM]);
void escribir_matriz(int,float[][DIM]);
void suma_matrices (int,float[][DIM],float[][DIM],float[][DIM]);

int main()
{
int n; float x[DIM][DIM], y[DIM][DIM], z[DIM][DIM];

do
{
printf("Introduce la dimension de la matriz (<=100): ");
scanf("%d",&n);
}while ((0>n) || (n>DIM));

printf("\nIntroduce la primera matriz\n");
leer_matriz(n,x);
system("cls");
printf("\nIntroduce la segunda matriz\n");
leer_matriz(n,y);
system("cls");

suma_matrices(n,x,y,z);
printf("\nSuma de las dos matrices:\n");
escribir_matriz(n,z);

system("PAUSE");
return 0;
}

void leer_matriz(int n, float v[][DIM])
{
int i,j;

for(i=0;i<n;i++)
{
printf("\nVamos a introducir la fila %d.\n",i+1);
for(j=0;j<n;j++)
{
printf("Introduce la componente (%d,%d): ",i+1,j+1);
scanf("%f",&v[i][j]);
}
}
}

void escribir_matriz(int n, float v[][DIM])
{
int i,j;

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%12.2f",v[i][j]);
}
printf("\n");
}
}

void suma_matrices (int n,float v1[][DIM],float v2[][DIM],float v3[][DIM])
{
int i,j;

for(i=0;i<n;i++)
for(j=0;j<n;j++)
v3[i][j]=v1[i][j]+v2[i][j];
}

COMPILACION Y EJECUCION






EJECUCION



EJERCICIO 3:
Lo mismo para el producto de dos matrices cuadradas de dimensin DIM.

/*Producto de dos matrices cuadradas*/

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

#define DIM 100

void leer_matriz(int,float[DIM][DIM]);
void escribir_matriz(int,float[][DIM]);
void producto_matrices (int,float[][DIM],float[][DIM],float[][DIM]);

int main()
{
int n; float x[DIM][DIM], y[DIM][DIM], z[DIM][DIM];

do
{
printf("Introduce la dimension de la matriz (<=100): ");
scanf("%d",&n);
} while ((0>n) || (n>DIM));

printf("\nIntroduce la primera matriz\n");
leer_matriz(n,x);
system("cls");
printf("\nIntroduce la segunda matriz\n");
leer_matriz(n,y);
system("cls");

producto_matrices(n,x,y,z);
printf("\nProducto de las dos matrices:\n");
escribir_matriz(n,z);

system("PAUSE");
return 0;
}

void leer_matriz(int n, float v[][DIM])
{
int i,j;
for(i=0;i<n;i++)
{
printf("\nVamos a introducir la fila %d.\n",i+1);
for(j=0;j<n;j++)
{
printf("Introduce la componente (%d,%d): ",i+1,j+1);
scanf("%f",&v[i][j]);
}
}
}

void escribir_matriz(int n, float v[][DIM])
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%12.2f",v[i][j]);
}
printf("\n");
}
}

void producto_matrices (int n,float v1[][DIM],float v2[][DIM],float v3[][DIM])
{
int i,j,k;

for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
v3[i][j]=0;
for(k=1;k<n;k++)
v3[i][j]=v3[i][j]+v1[i][k]*v2[k][j];
}
}






EJECUCION








Ejemplo 4:
1.- Enunciado del problema
Desarrolla un programa con la capacidad de sacar el promedio de
un alumno habiendo ingresado su nombre y cdigo, atreves del
teclado.

2.- Codificacin
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
char C[9],N[40];
int p1,p2,p3,pp;

cout<<"Ingresa el codigo del alumno:";
cin>>C;
cout<<"Ingresa el nombre del alumno:";
cin>>N;
cout<<"Nota practica 1:";
cin>>p1;
cout<<"Nota practica 2:";
cin>>p2;
cout<<"Nota practica 3:";
cin>>p3;
pp=(p1+p2+p3+3)/3.0;
cout<<"El promedo final es:"<<pp<<endl;
getch();
}

3.- Compilacin y depuracin











4.- Ejecucin







Ejemplo 5:
1.- Enunciado del problema
Crea un programa con la caracterstica de poder sumar dos arreglos
de 3 nmeros cada que ingreses por teclado, este programa tiene
que imprimir la suma.
2.- Codificacin
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
const int MAX=3;
int a[MAX],b[MAX],c[MAX];
cout<<"Ingrese datos del arreglo a:\n\n";
for(int i=0;i<MAX;i++)
{
cout<<"Ingrese numero:";
cin>>a[i];
}
cout<<"\nIngrese datos del arreglo b:\n\n";
for(int j=0;j<MAX;j++)
{
cout<<"Ingrese el numero:";
cin>>b[j];
}
cout<<"\nFin de datos\n";
for(int k=0;k<MAX;k++)
{
c[k]=a[k]+b[k];
}
for(int l=0;l<MAX;l++)
{
cout<<"\n a["<<(l+1)<<"]";
cout<<setw(5);
cout<<a[l];
cout<<"\tb["<<(l+1)<<"]";
cout<<setw(5);
cout<<b[l];
cout<<"\t\tc["<<(l+1)<<"]";
cout<<setw(5);
cout<<c[l];
}
getch();
}

3.- Compilacin y depuracin









4.- Ejecucin

Vous aimerez peut-être aussi