Advertisement
michael_xgrind

Untitled

Aug 2nd, 2014
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.36 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <math.h>
  5.  
  6. /*
  7. Objetivo:
  8. Pedir um numero de elementos do vetor, e transformá-lo em uma matriz.
  9. Caso não dê matriz exata, completar com -9.
  10. */
  11.  
  12. int main(){
  13.     int lMat, cMat, lVet, auxMat=0, auxVet=0, num, i, j, k;
  14.  
  15.     srand(time(NULL));
  16.  
  17.     printf("Entre com o nº de elementos: ");
  18.     scanf("%d", &num);
  19.  
  20.     lMat = pow(num,0.5);
  21.     cMat = num/lMat;
  22.     lVet = num - (lMat+cMat);
  23.  
  24.     int matriz[lMat][cMat];
  25.     int vetor[num];
  26.  
  27.     for(i=0; i<num; i++){
  28.         vetor[i] = rand() % 9+1;
  29.     }
  30.  
  31.     for(i=0; i<lMat; i++){
  32.         for(j=0; j<cMat; j++){
  33.             matriz[i][j] = vetor[auxMat];
  34.             auxMat++;
  35.         }
  36.         if (lMat != cMat){
  37.             for(k=cMat+1; k<cMat+lVet; k++){
  38.                // matriz[i][k] = vetor[auxVet];
  39.                matriz[i][k] = -9;
  40.                 auxVet++;
  41.             }
  42.         }
  43.     }
  44.  
  45.     printf("\n\nVetor:\n");
  46.     for(i=0; i<num; i++){
  47.         printf("%d ", vetor[i]);
  48.     }
  49.  
  50.     printf("\n\nMatriz:\n");
  51.     for(i=0; i<lMat; i++){
  52.         for(j=0; j<cMat; j++){
  53.             printf("%d ", matriz[i][j]);
  54.         }
  55.         if(lMat != cMat){
  56.             for(k=cMat+1; k<cMat+lVet; k++){
  57.                 printf("%d ", matriz[i][k]);
  58.             }
  59.         }
  60.         printf("\n");
  61.     }
  62.  
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement