Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- public static class Program
- {
- public static void Main()
- {
- int largura, altura, profundidade;
- largura = altura = profundidade = 5;
- var array3d = new int[altura, largura, profundidade];
- var random = new Random();
- var numeroProcurado = random.Next(100);
- for (var i = 0; i < altura; i++)
- for (var j = 0; j < largura; j++)
- for (var k = 0; k < profundidade; k++)
- array3d[i, j, k] = random.Next(100);
- void FazAlgo(int x, int y, int z) => Console.WriteLine($"ACHEI: {x},{y},{z} | valor: {array3d[x, y, z]}");
- // um caso em que goto pode ser util
- // encontrar um valor em um for aninhado
- // e parar todos os loops
- for (var i = 0; i < altura; i++)
- for (var j = 0; j < largura; j++)
- for (var k = 0; k < profundidade; k++)
- if (array3d[i, j, k] == numeroProcurado)
- {
- FazAlgo(i, j, k);
- goto stop;
- }
- stop:
- // ta tudo bem...
- // sem goto
- var parar = false;
- for (var i = 0; i < altura; i++)
- {
- for (var j = 0; j < largura; j++)
- {
- for (var k = 0; k < profundidade; k++)
- {
- if (array3d[i, j, k] == numeroProcurado)
- {
- FazAlgo(i, j, k);
- parar = true;
- break;
- }
- }
- if (parar) break;
- }
- if (parar) break;
- }
- (int x, int y, int z)? Encontrar()
- {
- for (var i = 0; i < altura; i++)
- for (var j = 0; j < largura; j++)
- for (var k = 0; k < profundidade; k++)
- if (array3d[i, j, k] == numeroProcurado)
- return (i, j, k);
- return null;
- }
- var achou = Encontrar();
- if (achou.HasValue && achou is var (x, y, z))
- FazAlgo(x, y, z);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement