EJEMPLOS DEL USO DE ARREGLOS
Enviado por Richerd Valenzuela • 17 de Julio de 2019 • Ensayo • 7.224 Palabras (29 Páginas) • 202 Visitas
EJEMPLOS DEL USO DE ARREGLOS.
- Procesar un arreglo llamado cuota de 12 elementos, realizando la lectura del arreglo, calcular suma y promedio de las cuotas, contar la cantidad de cuotas por arriba del promedio:
Analisis.-
Entrada: 12 valores o cuotas
Salida: Total Pagado (suma), Promedio cuotas (prom), Cantidad cuotas > Promedio (cont)
Relaciones:
Se debe recorrer el arreglo cuotas sumando los valores almacenados y una vez terminado el recorrido, se calcula el Promedio = Suma / Cantidad de valores
Una vez calculado el promedio se recorre otra vez el arreglo contando los valores que son mayores al promedio recién calculado
algoritmo cuotas inicio real cuota[12], suma, prom entero i,cont suma = 0 repetir_desde(I=1,I<=12,I=I+1) leer (cuota[I]) suma = suma + cuota[I] fin_repetir_desde prom = suma/12 cont = 0 repetir_desde(I=1,I<=12,I=I+1) si cuota[i] > prom cont= cont + 1 fin_si fin_repetir_desde mostrar(“TOTAL",suma) mostrar(“PROMEDIO", prom) mostrar(“Cuotas > al Prom") mostrar(cont); fin | void main(void) { flota cuota[12],suma,prom; int i, cont; suma=0; for(i=0;i<12;i++) { cout<<"Cuota["< cin>>cuota[i]; suma = suma + cuota[i]; } prom = suma/12; cont=0; for(i=0;i<12;i++) { if(cuota[i] > prom) cont++; } cout<<"Total Pagado = "< cout<<"Promedio = "< cout<<"Cuotas>Promedio "< } |
- Escribir un algoritmo que permita efectuar la suma de dos matrices bidimensionales.
Entrada: Matrices A y B
Salida: Matriz C
Relaciones:
- Para sumar dos matrices es preciso que las dos matrices tengan las mismas dimensiones. La matriz C[I,J] tendrá las mismas dimensiones de las matrices sumandos y cada elemento será la suma de los mismos elementos correspondientes en las matrices sumandos: C[I,J] = A[I,J] + B[I,J].
[pic 1][pic 2][pic 3]
algoritmo suma _ matrices inicio int A[10,10], B[10,10],C[10,10] entero i,j,fil,col; leer(fil) leer(col) si(fil<=10 y col<=10) repetir_desde(i=1,i<=fil,i=i+1) repetir_desde(j=1,j<=col,j=j+1) leer(A[I,J]) leer(B[I,J]) suma[I,J] = A[I,J] + B[I,J] fin_repetir_desde fin_repetir_desde si_no mostrar(“Fil y Col <=10") fin | void main(void) { int A[10][10],B[10][10],C[10][10]; int i,j,fil,col ; cout<<"FILAS: "; cin>>fil; cout<<"COLUMNAS: "; cin>>col; if(fil<=10 && col<=10) { for(i=0;i { for(j=0;j { cout<<"A["< cin>>A[i][j]; } } for(i=0;i { for(j=0;j { cout<<"B["< cin>>B[i][j]; } } for(i=0;i { for(j=0;j { C[i][j]=A[i][j]+B[i][j]; cout< } cout< } } else cout<<"Filas y Columnas <= 10"; } |
- Diseñar un algoritmo que permita contar el número de caracteres de una cadena.
Analisis:
Entrada: Cadena Salida: Cantidad de caracteres
- Si se declara una cadena de 100 elementos, pero se usan 20, automáticamente se pone un fin de cadena en la posición 21 y los demás elementos se llenan de ceros.
- El algoritmo deberá recorrer el vector buscando el fin de cadena, incrementando un contador cada vez que se lea un carácter diferente al fin de cadena.
Diseño del algoritmo:
algoritmo long_cadena_1 inicio car s[100]=″Buenos Dias″ ent I=1 repetir_mientras(s[I] != NULL) I = I + 1 fin_repetir_mientras mostrar(“N° de caracteres = ",I) fin | void main(void) { char s[20]="guayana"; int i; i=0; while(s[i]!= NULL) i++; cout<<"Nº caract. = "< getch(); } |
- Diseñar un algoritmo que permita comparar dos cadenas de caracteres y determinar si son iguales.
Análisis:
Entrada: cadena1, cadena2 Salida: Mensaje "Iguales" o "diferentes"
Los arreglos que contienen las cadenas deben ser recorridos en paralelo y se debe ir comparando simultáneamente elemento por elemento. El recorrido se detiene cuando se detecta una diferencia entre dos caracteres o se llega al final de cualquiera de las cadenas. Si se llega al final de las dos cadenas en un mismo número de pasos, las cadenas son iguales.
[pic 4]
algoritmo comp_cadena_1 inicio car s1[100], s2[100] entero I leer(s1,s2) I = 1 repetir_mientras(s1[i]==s2[i] && s1[i] != NULL && s2[i] != NULL) I = I + 1 fin_repetir_mientras si(s1[i]==NULL && s2[i]==NULL) mostrar("Cadenas Iguales") si_no mostrar("Cadenas Diferentes") fin_si fin | void main(void) { char s1[20],s2[20]; int i; cout<<"cadena 1: "; cin>>s1; cout<<"cadena 2: "; cin>>s2; i=0; while(s1[i]==s2[i] && s1[i]!=NULL && s2[i]!=NULL) i++; if(s1[i]==NULL && s2[i]==NULL) cout<<"Cadenas Iguales"; else cout<<"Cadenas Diferentes"; } |
- Llenar un vector de n elementos con n valores enteros y primos.
Análisis:
Entrada: Numero de elementos (n).
Salida: Vector de n números primos
Se usa un contador k, inicializado en 1 y se va probando si k es primo. Si es primo se guarda en el vector, si no es primo se desecha, luego se incrementa k y se prueba de nuevo
Un número primo es aquel que es di-visible únicamente por el mismo y la unidad. Para chequear si un numero es divisible por otro se usa la función mod la cual devuelve el resto de la división, si mod(k,J)=0 el K es divisible por J.
...