Advertisement
jacknpoe

GOTOs encadeados (não precisa)

Nov 21st, 2013
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.24 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #define LARG 3
  4.  
  5. int main( void) {
  6.     char a, b, c, d;
  7.     int temp, m[ LARG][ LARG][ LARG][LARG] = {};
  8.  
  9.     printf( "-1 cancela a primeira coluna.\n");
  10.     printf( "-2 cancela a segunda coluna.\n");
  11.     printf( "-3 cancela a terceira coluna.\n");
  12.     printf( "-4 cancela a quarta coluna.\n");
  13.     printf( "-5 cancela as entradas.\n");
  14.     printf( "-6 sai do programa.\n\n");
  15.  
  16.     for( a = 0; a < LARG; a ++ ) {  // FOR a
  17.         for( b = 0; b < LARG; b++ ) {       // FOR b
  18.             for( c = 0; c < LARG; c++ ) {       // FOR c
  19.                 for( d = 0; d < LARG; d++ ) {       // FOR d
  20.                     printf( "M[%d][%d][%d][%d]: ", a, b, c, d);
  21.                     scanf( "%d", &temp);
  22.                     if( temp == -1) continue;       // desnecessário GOTO (cancela atual FOR d)
  23.                     if( temp < -1) break;       // desnecessário GOTO (cancela atual FOR c)
  24.                     m[ a][ b][ c][d] = temp;
  25.                 }       // FOR d
  26.                 if( temp < -2) break;
  27.             }       // FOR c
  28.             if( temp < -3) break;
  29.         }       // FOR b
  30.         if( temp < -4) break;
  31.     }       // FOR a
  32.     if( temp < -5) return 1;        // desnecessário GOTO (sai do programa sem "imprimir")
  33.  
  34.     printf( "\n\n");
  35.  
  36.     for( a = 0; a < LARG; a ++ )
  37.         for( b = 0; b < LARG; b++ )
  38.             for( c = 0; c < LARG; c++ )
  39.                 for( d = 0; d < LARG; d++ )
  40.                     printf( "M[%d][%d][%d][%d]: %d\n", a, b, c, d, m[ a][ b][ c][d]);
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement