wagner-cipriano

Saída de dados formatada em C com printf - cores e espaçamento

May 21st, 2023
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.98 KB | Science | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. const int m=4, n=4;
  4.  
  5. const char sRedText[] =  "\033[1;31m";
  6. const char sBlueText[] = "\033[1;34m";
  7. const char sDefText[] =  "\033[0m";
  8.  
  9. //REF sobre as cores:
  10. //  https://bit.ly/3q2kUo0
  11.  
  12. void le_matriz(int mat[m][n]);
  13. void imprime_matriz(int mat[m][n]);
  14.  
  15. // Entrada de dados, Matriz 4x4
  16. // 1 -2 3 -4   305 6 -7 8   -9 0 11 12   13 214 15 0
  17.  
  18. int main() {
  19.   int mat[m][n], MI[m][n];
  20.   le_matriz(mat);
  21.   printf("Dados da matriz original: \n");
  22.   imprime_matriz(mat);
  23.   return 0;
  24. }
  25.  
  26. void le_matriz(int mat[m][n]) {
  27.   for(int i=0; i<m; i++)
  28.     for(int j=0; j<n; j++)
  29.       scanf("%d", &mat[i][j]);
  30. }
  31.  
  32. void imprime_matriz(int mat[m][n]) {
  33.   for(int i=0; i<m; i++) {
  34.     for(int j=0; j<n; j++) {
  35.       if(mat[i][j] < 0)
  36.         printf("%s %4d", sRedText, mat[i][j]);
  37.       else if(mat[i][j] > 0)
  38.         printf("%s %4d", sBlueText, mat[i][j]);
  39.       else
  40.         printf("%s %4d", sDefText, mat[i][j]);
  41.     }
  42.     printf("\n");
  43.   }
  44. }
  45.  
Add Comment
Please, Sign In to add comment