Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CI-2125, Computación I
Práctica 5
ARREGLOS
SOLUCIÓN:
//Inicialización de un arreglo
#include <iostream.h>
#include <iomanip.h>
int main()
{
int i, n[ 10 ];
return 0;
}
SOLUCIÓN:
#include <stdio.h>
int main ( )
{
int cuadrado[101];
int i; /* indice del for */
-1-
CI-2125, Computación I Práctica 5
}
3. Escriba un programa que dada una cadena de caracteres fija, imprima la cadena
completa, imprima el tercer carácter de la cadena y la subcadena a partir del cuarto
carácter.
SOLUCIÓN:
#include <stdio.h>
void main() {
cadena[0]='L';
cadena[1]='e';
cadena[2]='t';
cadena[3]='r';
cadena[4]='a';
cadena[5]='s';
cadena[6]= '\0'; /* Caracter nulo, significa el fin del texto */
#include <stdio.h>
#define N 3
void main ( )
{
float matriz[N][N]; // Entrada
float sum_fila[N], sum_colum[N]; // Salidas
int i,j;
-2-
CI-2125, Computación I Práctica 5
for (j=0; j<N; j++)
scanf("%f", &matriz[i][j]);
#include <stdio.h>
#define FILAS 3
#define COLUMNAS 4
void main ( )
{
int i,j,;
int M[FILAS][COLUMNAS];
/* lectura por filas */
for ( i=0; i<FILAS; i++)
for ( j=0; j< COLUMNAS; j++)
scanf(“%d”, &M[i][j]);
/* escribe por columnas */
for ( j=0; j<COLUMNAS; j++)
{
for ( i=0; i< FILAS; i++)
printf(“%5d”,M[i][j]);
printf(“\n”);
}
}
SOLUCIÓN: El programa lee por fila una matriz de 3 por 4, tres filas y cuatro columnas, y la
escribe por columnas.
#include <stdio.h>
-3-
CI-2125, Computación I Práctica 5
int main()
{
int c;
char nombre[4][7]={'F','u','l','a','n','o','\0',
'J','u','a','n','\0',' ',' ',
'P','e','d','r','o','\0',' ',
'E','l','i','s','a','\0',' '};
/* Caracter nulo, significa el fin del texto */
SOLUCIÓN:
Saluda a cada uno de los nombres. El programa escribe:
#include<stdio.h>
int main()
{
const int dimensionArreglo = 10;
int a[ dimensionArreglo ] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
int i, temp;
printf("\nDatos en orden original\n");
for ( i = 0; i < dimensionArreglo; i++ )
printf("%4d",a[ i ]);
for ( int pass = 0; pass < dimensionArreglo - 1; pass++ ) //pases
for ( i = 0; i < dimensionArreglo - 1; i++ ) // un pase
if ( a[ i ] > a[ i + 1]) { // una comparación
temp = a [ i ]; // un intercambio
-4-
CI-2125, Computación I Práctica 5
a[ i ] = a[ i + 1 ];
a[ i + 1 ] = temp;
}
printf("\nDatos en orden ascendente\n");
for ( i = 0; i < dimensionArreglo; i++ )
printf("%4d",a[ i ]);
printf("\n");
return 0;
}
SOLUCIÓN:
La técnica utilizada es similar al ordenamiento de burbuja u ordenamiento por hundimiento,
pues los valores más pequeños gradualmente “burbujean” hacia la parte más alta del arreglo
como las burbujas de aire ascienden en el agua, mientras que los valores más grandes se
hunden al fondo del arreglo.
La técnica consiste en pasar varias veces por el arreglo.
Con cada paso, se comparan pares sucesivos de elementos.
Si uno de los pares está en orden ascendente ( o son idénticos los valores) se queda tal
cual.
Si está en orden descendente se intercambian sus valores en el arreglo.
La salida es: 2 4 6 8 10 12 37 45 68 89
-5-
CI-2125, Computación I Práctica 5
-6-