Pauta Test N° 4 Lenguaje C - Universidad de Concepción

Anuncio
UNIVERSIDAD DE CONCEPCIÓN
FACULTAD DE INGENIERÍA AGRÍCOLA
DEPTO. DE AGROINDUSTRIAS
Juan Carlos Sandoval Avendaño
PAUTA TEST Nº 4 LENGUAJE DE PROGRAMACIÓN
INGENIERÍA AGROINDUSTRIAL  INGENIERÍA AMBIENTAL  INGENIERÍA
CIVIL AGRÍCOLA  INGENIERÍA EN ALIMENTOS
NOMBRE :__________________________________________CARRERA :________
TIEMPO MÁXIMO : 20 MINUTOS
FECHA : Mi 28/10/15
Calcule y muestre por pantalla E# ß donde E es una matriz de elementos reales
ingresados por el usuario, cuyo orden es un número aleatorio natural mayor o
igual que # y menor que %.
(60 puntos).
Solución:
Si suponemos que la matriz es cuadrada, entonces la codificación es:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n;
srand(time(NULL));
n=rand()%2+2;
int i,j, k;
float a[n][n], a2[n][n];
for(i=0;i<=n-1;i++)
for(j=0;j<=n-1;j++)
{
printf("\na[%i][%i] = ",i+1,j+1);
scanf("%f",&a[i][j]);
}
1
for(i=0;i<=n-1;i++)
for(j=0;j<=n-1;j++)
{
a2[i][j]=0.0;
for(k=0;k<=n-1;k++)
a2[i][j]=a2[i][j]+a[i][k]*a[k][j];
}
for(i=0;i<=n-1;i++)
{
printf("\n");
for(j=0;j<=n-1;j++)
{
printf("\t%0.2f",a2[i][j]);
}
}
printf("\n\n");
system("PAUSE");
return 0;
}
Si suponemos que la matriz no necesariamente es cuadrada, entonces la
codificación es:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n, m;
srand(time(NULL));
n=rand()%2+2;
m=rand()%2+2;
int i,j, k;
float a[n][m], a2[n][n];
for(i=0;i<=n-1;i++)
for(j=0;j<=m-1;j++)
{
printf("\na[%i][%i] = ",i+1,j+1);
scanf("%f",&a[i][j]);
}
2
if(n==m)
{
for(i=0;i<=n-1;i++)
for(j=0;j<=n-1;j++)
{
a2[i][j]=0.0;
for(k=0;k<=n-1;k++)
a2[i][j]=a2[i][j]+a[i][k]*a[k][j];
}
for(i=0;i<=n-1;i++)
{
printf("\n");
for(j=0;j<=n-1;j++)
{
printf("\t%0.2f",a2[i][j]);
}
}
}
else
printf("\nNo se puede calcular A al cuadrado porque la matriz no es cuadrada\n");
printf("\n\n");
system("PAUSE");
return 0;
}
ú
3
Descargar