1
resposta

Duvida sobre arrays e laços encadeados

Olá eu estou fazendo o curso de C: avançando na linguagem, eu queria entendender melhor esse codigo?

char chutes[26]; int tentativas = 0;

        for(int j = 0; j < tentativas; j++) {
            if(chutes[j] == palavrasecreta[i]) {
                achou = 1;
                break;
            }
    chutes[tentativas] = chute;
    tentativas++;
    
    
1 resposta

Ecttori,

Eu posso tentar explicar.

  • A linha 1: declara uma "array" de nome "chutes" do tipo "char" com 26 posições;

  • Ainda a linha 1: declara uma variável inteira de nome "tentativas" já atribuindo o valor 0 (zero) a ela;

  • A linha 2: é um laço de repetição "FOR" que ficará ativo enquanto a variável "j" for menor que a variável "tentativas";

  • A linha 3: é um "SE" (if):

SE a variável array na posição do valor da variável "J" for igual a array "palavrasecreta" na posição da variável "i",

ENTÃO atribua o valor "1" à variável "achou" e também PARE o processamento saindo fora do laço;

SE NÃO for igual continua o processamento do laço "FOR"

Fora do "FOR":

  • linha 6: atribua a variável "chute" dentro da array "chute" na posição "tentativas";
  • linha 7: Adicione 1 ao valor de tentativas;

Bom, segue alguns links caso você queira ter outros pontos de vista e mais informação:

===============================================================

O tipo char - escrevendo na linguagem C

Como declarar o tipo char em C

Para armazenar caracteres vamos usar um tipo especial de dados, o char (de character - caractere, em inglês).

O tipo char serve para armazenar UM, e somente UM, caractere.

Para declarar, usamos a seguinte sintaxe;

char nomeDaVariavel;

https://www.cprogressivo.net/2012/12/O-tipo-char-como-escrever-textos-na-linguagem-C.html

===============================================================

C++ Progressivo - Curso de C++ completo, online e grátis

Estrutura de Repetição FOR - Laço controlado em C++

for(inicialização ; teste_condicional ; atualização){
   // código que executa enquanto
   // o teste condicional
   // for verdadeiro
}

https://www.cmmprogressivo.net/2019/11/Estrutura-Repeticao-Cpp-Laco-controlado-Cmm.html

===============================================================

2 DE MARÇO DE 2022 / #LINGUAGEM C

Instruções if...else em C explicadas

if (condiçãoDeTeste) {
   // instruções
}

https://www.freecodecamp.org/portuguese/news/instrucoes-if-else-em-c-explicadas/

===============================================================

Classe array (Biblioteca Padrão C++)

Artigo - 02/04/2023

template <class Ty, std::size_t N>
class array;

https://learn.microsoft.com/pt-br/cpp/standard-library/array-class-stl?view=msvc-170

===============================================================

INSTRUÇÃO BREAK DO C++

CURSO C++

Publicado em 04-04-2015 por Cláudio Rogério Carvalho Filho

while(True):
    if(true):
        break;

http://excript.com/cpp/instrucao-break-cpp.html

===============================================================

Espero ter ajudado.

NÃO esqueça, se a sua dúvida foi sanada e a minha resposta foi a melhor, por favor me pontue ao fechar o tópico.

[]'s,

Fabio I.