gonzalob

Untitled

May 5th, 2020
955
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.19 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <string.h>
  5.  
  6. const int maxC = 3;
  7. const int maxCP = 100;
  8.  
  9. void cargarMatriz(int matriz[][maxC],int dimF, int dimC);
  10. void mostrarMatriz(int matriz[][maxC],int dimF, int dimC);
  11. void cargarMatrizAleatoria(int matriz[][maxC],int dimF, int dimC);
  12. int sumaMatriz(int matriz[][maxC],int dimF, int dimC);
  13. float calcularPromedio(int suma, int cantidad);
  14. int cantidad(int dimF, int dimC);
  15. int determinarElemento(int matriz[][maxC],int dimF, int dimC, int buscado);
  16. int cargarMatrizPalabras(char sopaDeLetras[][maxCP],int dimF);
  17. void mostrarSopaDeLetras(char sopaDeLetras[][maxCP],int dimF);
  18. int buscaPalabra(char sopaDeLetras[][maxCP],int dimF, char palabraBuscada[]);
  19.  
  20. int main()
  21. {
  22.     int matriz[3][maxC];
  23.     int otraMatriz[3][maxC];
  24.  
  25. /*
  26.     cargarMatriz(matriz,3,maxC);
  27.     system("cls");
  28.     mostrarMatriz(matriz,3,maxC);
  29.     system("pause");
  30.     */
  31.  
  32.     //cargarMatrizAleatoria(otraMatriz,3,maxC);
  33.     //system("cls");
  34.     //mostrarMatriz(otraMatriz,3,maxC);
  35.  
  36.     //int suma = sumaMatriz(matriz,3,maxC);
  37.  
  38.     //printf("la suma es %d\n",suma);
  39.  
  40.    // float promedio = calcularPromedio(suma, cantidad(3,maxC));
  41.  
  42.    // printf("el promedio es %f\n",promedio);
  43.  
  44.    // int encontrado = determinarElemento(matriz,3,maxC,9);
  45.  
  46.   //  if (encontrado == 1) printf("esta!\n"); else printf("no esta!\n");
  47.  
  48.     char matrizChar[3][maxCP];
  49.     cargarMatrizPalabras(matrizChar,3);
  50.     mostrarSopaDeLetras(matrizChar,3);
  51.     char palabra[] = "gonzalo";
  52.     int encontrado = buscaPalabra(matrizChar,3,palabra);
  53.     if (encontrado == 1)
  54.         printf("la palabra %s esta!\n",palabra);
  55.     else
  56.         printf("la palabra %s no esta!\n",palabra);
  57.  
  58.     return 0;
  59. }
  60.  
  61. /*
  62. Hacer una función que reciba como parámetro una matriz de
  63. números enteros y permita que el usuario ingrese valores
  64. al mismo por teclado. La función debe cargar la matriz por completo.
  65. */
  66.  
  67. void cargarMatriz(int matriz[][maxC],int dimF, int dimC)
  68. {
  69.     int fila = 0;
  70.     int columna = 0;
  71.     for (fila = 0; fila<dimF; fila++)
  72.     {
  73.         for (columna = 0; columna<dimC; columna++)
  74.         {
  75.             printf("ingrese un valor\n");
  76.             scanf("%d",&matriz[fila][columna]);
  77.         }
  78.     }
  79. }
  80. /*
  81. Hacer una función que reciba como parámetro una matriz de números enteros
  82. y la muestre por pantalla (en formato matricial).
  83. */
  84.  
  85. void mostrarMatriz(int matriz[][maxC],int dimF, int dimC)
  86. {
  87.     int fila = 0;
  88.     int columna = 0;
  89.     for (fila = 0; fila<dimF; fila++)
  90.     {
  91.         for (columna = 0; columna<dimC; columna++)
  92.         {
  93.             printf("%d | ",matriz[fila][columna]);
  94.         }
  95.         printf("\n");
  96.     }
  97. }
  98.  
  99. /*
  100. Hacer una función que reciba como parámetro
  101. una matriz de números enteros y que cargue
  102. la misma con números aleatorios (sin intervención del usuario).
  103. La función debe cargar la matriz por completo.
  104. */
  105. void cargarMatrizAleatoria(int matriz[][maxC],int dimF, int dimC)
  106. {
  107.     int fila = 0;
  108.     int columna = 0;
  109.  
  110.     srand(time(NULL));//cambia la semilla por el tiempo actual
  111.  
  112.     for (fila = 0; fila<dimF; fila++)
  113.     {
  114.         for (columna = 0; columna<dimC; columna++)
  115.         {
  116.             matriz[fila][columna] = rand()%101;
  117.         }
  118.     }
  119. }
  120. /*
  121. Hacer una función tipo int que sume el contenido
  122. total de una matriz de números enteros.
  123. */
  124.  
  125. int sumaMatriz(int matriz[][maxC],int dimF, int dimC)
  126. {
  127.     int fila = 0;
  128.     int columna = 0;
  129.     int suma = 0;
  130.  
  131.     for (fila = 0; fila<dimF; fila++)
  132.     {
  133.         for (columna = 0; columna<dimC; columna++)
  134.         {
  135.             suma = suma + matriz[fila][columna];
  136.         }
  137.     }
  138.     return suma;
  139. }
  140.  
  141. /*
  142. Hacer una función tipo float que calcule
  143. el promedio de una matriz de números enteros.
  144. */
  145.  
  146. int cantidad(int dimF, int dimC)
  147. {
  148.     return dimC * dimF;
  149. }
  150.  
  151. float calcularPromedio(int suma, int cantidad)
  152. {
  153.     float promedio = (float) suma / (float) cantidad;
  154.     return promedio;
  155. }
  156.  
  157. /*
  158. Hacer una función que determine
  159. si un elemento se encuentra dentro de una matriz de números enteros.
  160. La función recibe la matriz y el dato a buscar.
  161. */
  162. int determinarElemento(int matriz[][maxC],int dimF, int dimC, int buscado)
  163. {
  164.     int encontrado = 0;
  165.  
  166.  
  167.     int fila = 0;
  168.     int columna = 0;
  169.  
  170.  
  171.  
  172.     while ((encontrado==0)&&(fila<dimF))
  173.     {
  174.         columna = 0;
  175.         while ((encontrado==0)&&(columna<dimC))
  176.         {
  177.                 if (matriz[fila][columna] == buscado)
  178.                 {
  179.                     encontrado = 1;
  180.                     printf("encontrado!\n");
  181.                 }
  182.                 else
  183.                 {
  184.                     printf("no encontrado!\n");
  185.                 }
  186.  
  187.                 columna++;
  188.         }
  189.         fila++;
  190.     }
  191.  
  192.     return encontrado;
  193. }
  194.  
  195. /*
  196. Hacer una función que cargue un arreglo de palabras (strings).
  197. La función debe retornar cuantas palabras se cargaron.
  198. */
  199.  
  200. int cargarMatrizPalabras(char sopaDeLetras[][maxCP],int dimF)
  201. {
  202.   int cantidadPalabras = 0;
  203.  
  204.   char mander = 's';
  205.  
  206.   while ((mander == 's') && (cantidadPalabras<dimF))
  207.   {
  208.       printf("ingrese su palabra\n");
  209.        fflush(stdin);
  210.       gets(&sopaDeLetras[cantidadPalabras]);
  211.  
  212.       cantidadPalabras++;
  213.  
  214.       printf("desea seguir? \n");
  215.       fflush(stdin);
  216.       scanf("%c",&mander);
  217.   }
  218.  
  219.   return cantidadPalabras;
  220. }
  221.  
  222. /*
  223. 8.mostrar la matriz
  224. */
  225. void mostrarSopaDeLetras(char sopaDeLetras[][maxCP],int dimF)
  226. {
  227.     int fila = 0;
  228.     for (fila = 0; fila<dimF;fila++)
  229.     {
  230.         printf("%s\n",sopaDeLetras[fila]);
  231.     }
  232. }
  233. /*
  234. Hacer una función que determine si una palabra se
  235. encuentra dentro de un arreglo de palabras.
  236. La función recibe el arreglo,
  237. la cantidad de palabras que contiene y la palabra a buscar.
  238. */
  239.  
  240. int buscaPalabra(char sopaDeLetras[][maxCP],int dimF, char palabraBuscada[])
  241. {
  242.     int fila = 0;
  243.     int encontrado = 0;
  244.     int comparacion = 0;
  245.  
  246.     while ((fila<dimF) && (encontrado==0))
  247.     {
  248.         comparacion = strcmp(palabraBuscada,sopaDeLetras[fila]);
  249.         //if (sopaDeLetras[fila] == palabraBuscada) NO SE PUEDE
  250.         if (comparacion == 0) //son iguales
  251.         {
  252.             encontrado = 1;
  253.         }
  254.         fila++;
  255.     }
  256.  
  257.     return encontrado;
  258. }
Advertisement
Add Comment
Please, Sign In to add comment