Advertisement
gmmmarcos

Practico 4 - Ejercicio 7- en proceso

May 8th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.53 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "pila.h"
  4. #include <string.h>
  5.  
  6. int CargarArreglo ( int [], int );
  7. int MostrarArreglo ( int[],int );
  8. int SumarArreglo ( int[], int );
  9. void CopiarEnPila (int[],int,Pila* );
  10. int CargarArregloFloat (float[], int );
  11. float SumarArregloFloat (float[],int );
  12. int BuscarEnArreglo (char[],int ,char );
  13. int CargarArregloChar ( char[], int);
  14. int InsertarChar(char[],int , char );
  15.  
  16. int main()
  17. {
  18. char hola[8];
  19. int validos;
  20. int resultado;
  21. int p=0;
  22.  
  23. //float arreglosumado;
  24. //Pila ENERGIZER;
  25. //inicpila (&ENERGIZER);
  26. //arreglosumado = SumarArregloFloat (hola,validos);
  27. //printf ("\nLa suma del arreglo es %f", arreglosumado);
  28. //CopiarEnPila (hola,&validos,&ENERGIZER);
  29. //mostrar (&ENERGIZER);
  30. //resultado = BuscarEnArreglo (hola,3);
  31. //printf ("Resultado: %i", resultado);
  32.  
  33. validos = CargarArregloChar (hola, 8);
  34. //resultado = BuscarEnArreglo (hola,validos,'o');
  35.  
  36. // printf ("Resultado= %i", resultado);
  37. validos = InsertarChar(hola, validos, 'b');
  38.  
  39. printf ("%s", &hola);
  40.  
  41. return 0;
  42. }
  43.  
  44.  
  45. /* 1. Hacer una función que reciba como parámetro un arreglo de números enteros y
  46. permita que el usuario ingrese valores al mismo por teclado.
  47. La función debe retornar la cantidad de elementos cargados en el arreglo.*/
  48.  
  49. int CargarArreglo ( int a[], int dimension)
  50. {
  51. char respuesta = 's';
  52. int i = 0;
  53.  
  54. while ( i < dimension && respuesta != 'n')
  55. {
  56. printf ("\nIngrese un numero: ");
  57. scanf ("%i",&a[i]);
  58. printf ("\n Desea continuar?: ");
  59. fflush(stdin);
  60. scanf ("%c",&respuesta);
  61. i++;
  62. }
  63. return i;
  64. }
  65.  
  66. /*2. Hacer una función que reciba como parámetro un arreglo y
  67. la cantidad de elementos (válidos) cargados en él y los muestre por pantalla. */
  68.  
  69. int MostrarArreglo ( int a[],int validos )
  70. {
  71.  
  72. int contador = 0;
  73. while (contador < validos)
  74. {
  75. printf ("\n%i", a[contador]);
  76.  
  77. contador++;
  78. }
  79. return contador;
  80. }
  81.  
  82. /* 3. Hacer una función que reciba como parámetro un arreglo
  83. y la cantidad de elementos (válidos) cargados en él y calcule la suma de sus elementos. */
  84.  
  85. int SumarArreglo ( int a[], int validos )
  86. {
  87.  
  88. int suma = 0;
  89. int i;
  90.  
  91. for (i=0; i<validos; i++)
  92. {
  93. suma = a[i] + suma;
  94. }
  95.  
  96. return suma;
  97. }
  98.  
  99. /*4. Hacer una función que reciba como parámetro un arreglo, la cantidad de elementos (válidos)
  100. cargados en él y una Pila. La función debe copiar los elementos del arreglo en la pila. */
  101.  
  102.  
  103. void CopiarEnPila (int a[],int validos,Pila* RECARGABLE)
  104. {
  105. int i = 0;
  106.  
  107. while (a[i]<=validos)
  108. {
  109. apilar(RECARGABLE,a[i]);
  110. i++;
  111. }
  112. }
  113.  
  114. /*5. Realizar una función que sume los elementos reales de un arreglo de dimensión 100. */
  115.  
  116.  
  117. int CargarArregloFloat ( float a[], int dimension)
  118. {
  119. char respuesta = 's';
  120. int i = 0;
  121.  
  122. while ( i < dimension && respuesta != 'n')
  123. {
  124. printf ("\nIngrese un numero: ");
  125. scanf ("%f",&a[i]);
  126. printf ("\n Desea continuar?: ");
  127. fflush(stdin);
  128. scanf ("%c",&respuesta);
  129. i++;
  130. }
  131. return i;
  132. }
  133.  
  134. float SumarArregloFloat ( float a[], int validos )
  135. {
  136.  
  137. float resultado = 0;
  138. int i;
  139.  
  140. for (i=0; i<validos; i++)
  141. {
  142. resultado = a[i] + resultado;
  143. }
  144.  
  145. return resultado;
  146. }
  147.  
  148. /* 6. Realizar una función que indique si un elemento dado se encuentra en un arreglo de caracteres. */
  149.  
  150.  
  151. int CargarArregloChar ( char a[], int dimension)
  152. {
  153. int respuesta = 1;
  154. int i = 0;
  155.  
  156. while ( i < dimension && respuesta == 1)
  157. {
  158. printf ("\nIngrese una letra: ");
  159. fflush(stdin);
  160. scanf ("%c",&a[i]);
  161. printf ("\n Desea continuar? 1 = si / 0 = no: ");
  162. scanf ("%i",&respuesta);
  163. i++;
  164. }
  165. return i;
  166. }
  167.  
  168. int BuscarEnArreglo (char a[], int cant,char sebusca)
  169. {
  170. int i=0;
  171. int endgame=0;
  172.  
  173. while (i<cant && a[i]!= sebusca)
  174. {
  175. i++;
  176. }
  177.  
  178. if (a[i]== sebusca)
  179. {
  180. endgame=1;
  181. }
  182.  
  183. return endgame;
  184. }
  185.  
  186. /*7. Realizar una función que inserte un carácter en un arreglo ordenado alfabéticamente, conservando el orden. */
  187.  
  188.  
  189. int InsertarChar(char a[], int canti, char insertadisimo)
  190. {
  191. int i = canti;
  192. while(i>=0 && insertadisimo <a[i])
  193. {
  194. a[i+1]=a[i];
  195. i--;
  196. }
  197. a[i+1]=insertadisimo;
  198.  
  199. return canti + 1;
  200. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement