Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Encurtar a quantidade de FOR

O professor usou um for pra ler do arquivo mapa.txt e outro para exibir o mapa na tela.

Não funcionaria se ele usasse o printf do segundo for no primeiro? ou seja, sem a necessidade de usar o segundo for.

1 resposta
solução!

Olá, Paulo! Tudo bem?

É uma ótima pergunta! Em teoria, sim, você poderia combinar a leitura e a exibição em um único loop for, mas existem algumas considerações a serem feitas.

Quando você está lendo o arquivo e armazenando os dados em uma matriz, como no exemplo do exercício, essa abordagem permite que você manipule os dados posteriormente sem precisar acessar o arquivo novamente. Isso é útil caso você precise fazer mais operações com os dados lidos, como modificações ou cálculos.

Se você decidir imprimir os dados imediatamente após a leitura, sem armazená-los, perderá a flexibilidade de manipular esses dados posteriormente. Além disso, separar a lógica de leitura e exibição em loops distintos pode tornar o código mais claro e fácil de manter, especialmente em projetos maiores.

Por exemplo, se você fizer algo assim:

for(int i = 0; i < 5; i++) {
    fscanf(f, "%s", mapa[i]);
    printf("%s\n", mapa[i]);
}

Isso funcionaria e exibiria o mapa na tela enquanto lê do arquivo. No entanto, se você precisar usar o mapa novamente em outra parte do programa, precisará ter certeza de que ele foi armazenado corretamente.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.