Advertisement
RaquelAmbrozio

Untitled

Jun 13th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.77 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #define DEZ 10
  6. char matriz[DEZ][DEZ];
  7.  
  8.  
  9. void inicializa_matriz() {
  10.     //preenche a matriz com zeros, evitando lixos de memoria
  11.     for(int i = 0; i < 10; i++){
  12.         memset(matriz[i], 0, DEZ);
  13.     }
  14. }
  15.  
  16. char gera_letra_aleatoria() {
  17.     char alfabeto[26] = {'A', 'B', 'C', 'D', 'E','F', 'G', 'H', 'I', 'J','K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
  18.     int indice_letra = rand() % 26;
  19.     return alfabeto[indice_letra];
  20. }
  21.  
  22. void preenche_matriz_com_letras(){
  23.     for (int i= 0; i < DEZ; i++) {
  24.         for (int j= 0; j < DEZ; j++) {
  25.             char letra;
  26.             letra = gera_letra_aleatoria();
  27.             if(matriz[i][j] == 0)
  28.                 matriz[i][j] = letra;
  29.         }
  30.     }
  31. }
  32.  
  33. void imprime_caca_palavras(){
  34.     for(int i = 0; i < DEZ; i++){
  35.             for(int j = 0; j < DEZ; j++)
  36.                 printf("%c|", matriz[i][j]);
  37.                
  38.             printf("\n");  
  39.         }  
  40. }
  41.  
  42. void coloca_palavra_diagonal_crescente(char palavra[DEZ]){
  43.     int tamanho_palavra = strlen(palavra);
  44.     int linha_primeira_letra_palavra = rand() % (DEZ - tamanho_palavra);
  45.     int coluna_primeira_letra_palavra = rand() % (DEZ - tamanho_palavra);
  46.    
  47.     while (matriz[linha_primeira_letra_palavra][coluna_primeira_letra_palavra] != 0) {
  48.         linha_primeira_letra_palavra = rand() % (DEZ - tamanho_palavra);
  49.         coluna_primeira_letra_palavra = rand() % (DEZ - tamanho_palavra);
  50.     }
  51.     printf("Inicio da palavra, linha: %d coluna: %d \n",linha_primeira_letra_palavra+1, coluna_primeira_letra_palavra+1);
  52.    
  53.     for(int i =0; i < tamanho_palavra; i++) {
  54.         matriz[linha_primeira_letra_palavra][coluna_primeira_letra_palavra] = palavra[i];
  55.         linha_primeira_letra_palavra++;coluna_primeira_letra_palavra++;
  56.     }
  57. }
  58.  
  59. void coloca_palavra_diagonal_decrescente(char palavra[DEZ]){
  60.     int tamanho_palavra = strlen(palavra);
  61.     int linha_primeira_letra_palavra = tamanho_palavra + (rand() % (DEZ-tamanho_palavra));
  62.     int coluna_primeira_letra_palavra = rand() % (DEZ-tamanho_palavra);
  63.    
  64.      while (matriz[linha_primeira_letra_palavra][coluna_primeira_letra_palavra] != 0) {
  65.          linha_primeira_letra_palavra = tamanho_palavra + (rand() % (DEZ-tamanho_palavra));
  66.          coluna_primeira_letra_palavra = rand() % (DEZ-tamanho_palavra);  
  67.      }
  68.    
  69.     printf("Inicio da palavra, linha: %d coluna: %d \n",linha_primeira_letra_palavra+1, coluna_primeira_letra_palavra+1);
  70.    
  71.     for(int i =0; i < tamanho_palavra; i++) {
  72.         matriz[linha_primeira_letra_palavra][coluna_primeira_letra_palavra] = palavra[i];
  73.         linha_primeira_letra_palavra--;coluna_primeira_letra_palavra++;
  74.     }
  75. }
  76.  
  77. char* inverter(char palavra[10]){
  78.      char *array_dinamico = malloc(10*sizeof(char));
  79.      int i;
  80.      int f = 0;
  81.      for (i = (strlen(palavra)-1); i>=0; i--){
  82.               array_dinamico[f] = palavra[i];  
  83.               f++;
  84.          }
  85.      return array_dinamico;
  86. }
  87.  
  88. int main() {
  89.    
  90.     srand(time(NULL));
  91.     inicializa_matriz();
  92.     char palavra1[10] = "raquel";
  93.     char palavra2[10] = "ambrozio";
  94.     coloca_palavra_diagonal_crescente(palavra1);
  95.     coloca_palavra_diagonal_crescente(palavra2);
  96.     preenche_matriz_com_letras();
  97.     imprime_caca_palavras();
  98.    
  99.     /*char palavraa[10] = "raquel";
  100.     char *oi = inverter(palavraa);
  101.     printf("%s",oi);
  102.    
  103.  
  104.     preenche_matriz();
  105.     imprime_caca_palavras();
  106.     printf("\n");*/
  107.    
  108.    
  109.    
  110.     /*coloca_palavra_diagonal_decrescente(palavra);
  111.     printf("\n");
  112.     imprime_caca_palavras();
  113.  
  114.    
  115.     /*char letra = gera_letra_aleatoria();
  116.     char letras[TAMANHOMATRIZ][TAMANHOMATRIZ];
  117.     letras[1][1] = letra;
  118.     printf("%c \n", letras[1][1]);*/
  119.  
  120.     return 0;
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement