Documente Academic
Documente Profesional
Documente Cultură
Capítulo 9
EJEMPLO 9.2
#include <stdio.h>
#define NUM 8
int main()
{
int nums[NUM];
int i;
int total = 0;
EJEMPLO 9.3
#include <stdio.h>
#define MAX 10
float muestra[MAX];
void main()
{
int i;
printf("\nIntroduzca una lista de %d elementos positivos.\n",MAX);
for (i = 0; i < MAX; muestra[i]>0?++i:i)
scanf("%f",&muestra[i]);
}
EJEMPLO 9.4
#include <stdio.h>
#define MAX 10
float muestra[MAX];
19 Programación en C. Algoritmos, estructuras de datos y objetos.
void main()
{
int i;
printf("\nIntroduzca una lista de %d elementos positivos.\n",MAX);
for (i = 0; i < MAX; muestra[i]>0?++i:i)
scanf("%f",&muestra[i]);
printf("\nDatos leidos del teclado: ");
for ( i = 0, i < MAX; ++i)
printf("%f\t",muestra[i]);
}
EJEMPLO 9.5
float discos[2][4];
int fila, col;
/* Visualizar la tabla */
for (fila = 0; fila < 2; fila++)
{
for (col = 0; col < 4; col++)
{
printf("\n Pts %.1f \n",discos[fila][col]);
}
}
EJERCICIO 9.1
#include <stdio.h>
/* prototipos funcionales */
void leer(int a[][5]);
void visualizar(const int a[][5]);
int main()
{
int a[3][5];
leer(a);
visualizar(a);
return 0;
}
EJERCICIO 9.2
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define N 8
#define randomize (srand(time(NULL)))
#define random(num) (rand()%(num))
void gen_mat(int a[][N], int n);
int simetrica(int a[][N], int n);
void escribe_mat(int a[][N], int n);
int main(void)
{
int a[N][N]; /* define matriz de tamaño máximo N */
int n,i,j;
int es_sim;
randomize;
do {
printf("\nTamaño de cada dimensión de la matriz, máximo %d: ",N);
scanf("%d",&n);
}while (n<2 || n>N);
do {
gen_mat(a,n);
es_sim = simetrica(a,n);
if (es_sim)
{
puts("\n\Encontrada matriz simétrica.\n");
escribe_mat(a,n);
}
} while (!es_sim);
return 0;
}
21 Programación en C. Algoritmos, estructuras de datos y objetos.
EJEMPLO 9.6
#include <stdio.h>
#define L 100
void leerArray(double a[], int* num );
void imprimirArray (const double [], int n);
int main()
{
double a[L];
int n;
leerArray(a, &n);
printf("El array a tiene %d elementos, estos son\n ",n);
imprimirArray(a, n);
return 0;
}
{
int n = 0;
puts("Introduzca datos. Para terminar pulsar 0.\n");
for (; n < L; n++)
{
printf("%d: ",n);
scanf("%lf",&a[n]);
if (a[n] == 0) break;
};
*num = n;
}
EJEMPLO 9.7
double maximo(const double a[],int n)
{
double mx;
int i;
mx = a[0];
for (i = 1; i < n; i++)
mx = (a[i]>mx a[i]: mx);
return mx;
}
EJEMPLO 9.8
#include <stdio.h>
int SumaDeEnteros(const int ArrayEnteros[], int NoElementos);
int maximo(const int ArrayEnteros[], int NoElementos);
int main()
{
int Items[10];
int Total, i;
printf("Total = %d \n",SumaDeEnteros(Items,10));
printf("Valor máximo: %d \n",maximo(Items,10));
return 0;
}
int i, Total = 0;
for (i = 0; i < NoElementos; i++)
Total += ArrayEnteros[i];
return Total;
}
{
int mx;
int i;
mx = ArrayEnteros[0];
for (i = 1; i < NoElementos; i++)
mx = (ArrayEnteros[i]>mx ArrayEnteros[i]: mx);
return mx;
}
EJERCICIO 9.3
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define F 8
#define C 10
#define N 50
#define randomize (srand(time(NULL)))
#define random(num) (rand()%(num))
int main()
{
int a[F][C];
int item, nf,nc,esta;
int veces = 0;
randomize;
gen_mat(a);
printf("\n Elemento a buscar: ");
scanf("%d",&item);
do {
esta = buscar(a,&nf,&nc,item);
if (esta)
{
veces = veces+1;
printf("\n coincidencia %d: Fila %d, Columna %d\n",veces,nf,nc);
}
}while (esta);
escribe_mat(a);
printf("\nNúmero de coincidencias del elemento
Arrays 24
%d :%d",item,veces);
return 0;
}
encontrado = 0;
while (!encontrado && (x<F))
{
encontrado = (a[x][y] == elemento);
if (!encontrado) /* avanza a siguiente elemento */
if (y == C-1)
{
y = 0;
x = x+1;
}
else
y = y+1;
}
/* ultimo valor de x e y */
*fila = x;
*col = y;
return encontrado;
}
}
}
EJERCICIO 9.4
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define F 6
#define C 10
#define V 100.0
int main()
{
float mat[F][C];
int fila;
fila = maximo(mat);
printf("\n\nFila cuya suma de elementos es mayor: %d",fila);
return 0;
}
float s;
for (s=0.0,i=0; i<C; i++)
s += v[i];
return s;
}
int maximo(float mt[][C])
{
float mx;
int i,f;