Ir para conteúdo
Faça parte da equipe! (2024) ×

Utilizando ciclo FOR Alfabeto


-RafaelSF-
 Compartilhar

Posts Recomendados

Eai pessoal blz estarei tentando ensinar a utilizar o ciclo FOR, junto com um vetor ok.

 

 

Primeiro: Ao criar um vetor defina-o tipo char, qualquer nome, e 26 de espaço:

 

É necessário se cadastrar para acessar o conteúdo.

 

Segundo: Crie uma variavel para usar o ciclo FOR:

 

É necessário se cadastrar para acessar o conteúdo.

 

Terceiro: Crie o ciclo for:

 

É necessário se cadastrar para acessar o conteúdo.

 

OBS: Defina i = 0, enquanto i < 26 o numero de letras, quero que manda ++i a i assim o o i irar na posição do vetor, que passara todas letras digitadas no vetor:

 

É necessário se cadastrar para acessar o conteúdo.

 

Bom pessoal espero que vocês tenham gostado

Olá Mundo :)

Link para o comentário
Compartilhar em outros sites

Não inicie desta forma, para que não haja buffer overflow. E no último elemento coloque um "\0", talvez no seu codigo não tenha acontecido, mas em alguns casos a falta desse ultimo pode gerar um comportamento diferente do esperado.

 

 

char vetor[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '\0'};

O que falar dessa assinatura que nem escrevi mas já considero pakas?

http://www.webcheats.com.br/forum/tutoriais-wc/2242064-como-colocar-assinaturas-post8832945.html#post8832945

<3333

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois...
Cada um tem sua lógica de desenvolver o programa --'

Só que em qualquer desenvolvimento profissional,é quase que obrigatório ter um código bom e limpo.Pra que perder tempo escrevendo cada letra em um vetor se você tem o char que já retorna um caractere por um número?Além de ganhar tempo,sempre irá ganhar créditos na visão de um programador.

Link para o comentário
Compartilhar em outros sites

Só que em qualquer desenvolvimento profissional,é quase que obrigatório ter um código bom e limpo.Pra que perder tempo escrevendo cada letra em um vetor se você tem o char que já retorna um caractere por um número?Além de ganhar tempo,sempre irá ganhar créditos na visão de um programador.

 

Escreva códigos para pessoas primeiro, depois para o computador. É muito mais "legível":

char vetor[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '\0'};

do que

for (char = 65; ch <= 90; ch++)

Só de "bater o olho" você sabe o que está acontecendo naquela parte do código, até mesmo um iniciante pode identificar isto.

 

tire.gif

Não me diga, só estou falando outra maneira de fazer...

Se você gosta de fazer gambiarra...

E main PRECISA retornar um inteiro para informar ao compilador que tudo ocorreu normalmente, como de esperado (zero) ou com falha (non-zero). Gambiarra mesmo foi informar que main retorna NULL...

Link para o comentário
Compartilhar em outros sites

escreva códigos para pessoas primeiro, depois para o computador. é muito mais "legível":

 

Do que

 

só de "bater o olho" você sabe o que está acontecendo naquela parte do código, até mesmo um iniciante pode identificar isto.

 

 

E main precisa retornar um inteiro para informar ao compilador que tudo ocorreu normalmente, como de esperado (zero) ou com falha (non-zero). gambiarra mesmo foi informar que main retorna null...

 

null = 0 ...

Link para o comentário
Compartilhar em outros sites

O NULL é sim igual a 0, olhe a definição em sua própria IDE.

 

O melhor jeito para o loop em questão é:

 

É necessário se cadastrar para acessar o conteúdo.

 

Você ao menos leu o que postou? Então leia:

 

É necessário se cadastrar para acessar o conteúdo.

 

 

A única diferença em si é se comparar com '0'(Char), o que tem valor de 0x30 segundo a tabela ASCII, já se você utiliza 0(inteiro), seu valor é 0x0, ou seja, nulo.

Darkness is a part of my soul

5de5ae31e8.jpg

Link para o comentário
Compartilhar em outros sites

Compile o código abaixo:

É necessário se cadastrar para acessar o conteúdo.

 

Se não executar, eu admito estar errado.

 

Definição:

É necessário se cadastrar para acessar o conteúdo.

 

Uma dica, não se limite a informações errôneas de quaisquer pessoas na web/livros, tire suas próprias conclusões.

Darkness is a part of my soul

5de5ae31e8.jpg

Link para o comentário
Compartilhar em outros sites

Tanta briga aqui até resolvi entrar kkk, então...

 

@HackerFail

Seu loop pode até ser simples mas como nosso amigo Neёlix já disse e tem toda a razão, primeiro fazemos o código para pessoas.Quando você começar a desenvolver programas grandes, tipo 10mil linhas+ você entenderá o que estamos falando.

 

@Neёlix:

Vá em: stddef.h na linha 27 você encontrará:

É necessário se cadastrar para acessar o conteúdo.

 

Isto significa que NULL é 0 dos dois modos, então sim.NULL = 0

 

 

@Unx:

O tempo que você gasta escrevendo as letras é 1000x menor do que o tempo que você gasta tentando achar esse código depois em um projeto grande.

Link para o comentário
Compartilhar em outros sites

Informações errôneas presentes na documentação padrão da linguagem? Escritas por quem a criou? Só pode estar de brincadeira.

Ainda assim prefiro manter padronizado a compilar e rodar um programa no qual existe a grande possibilidade de rodar com Undefined behavior, boa sorte na gambiarra.

Link para o comentário
Compartilhar em outros sites

Independente de ser ou não 0, pra que complicar o negócio? Por que não usar 0 e 1 -ou valores diferentes do tipo inteiro- para informar retorno de funções?

Af velho, esse negócio de querer enfeitar demais o código...só tende a complicar para quem é iniciante -aparentemente, o tópico é direcionado a esses usuários.

 

O uso de NULL não irá gerar comportamento indefinido Neelix, não é nada de anormal para a linguagem.

O que falar dessa assinatura que nem escrevi mas já considero pakas?

http://www.webcheats.com.br/forum/tutoriais-wc/2242064-como-colocar-assinaturas-post8832945.html#post8832945

<3333

Link para o comentário
Compartilhar em outros sites

Engano seu cara amiga.

 

n1570, 6.3.2.3p5: Standard C.

Any pointer type may be converted to an integer type. Except as previously specified, the

result is implementation-defined. If the result cannot be represented in the integer type,

the behavior is undefined. The result need not be in the range of values of any integer type.

Portanto, haverá undefined behavior caso NULL não possa ser representado como um número inteiro.

A representação de NULL:

((void *) 0)

(T * 0)

... não necessariamente tem todos os bits iguais a 0. Assim, mesmo que a representação de int da implementação tenha (int) 0 como um objeto de tamanho sizeof (int), com todos os bits zerados, não há garantia de que (int) NULL não causará undefined behavior.

 

De forma sucinta: Use um inteiro.

Algo mais?

Link para o comentário
Compartilhar em outros sites

Any pointer type may be converted to an integer type. Except as previously specified, the

result is implementation-defined. If the result cannot be represented in the integer type,

the behavior is undefined. The result need not be in the range of values of any integer type.

Cole as especificações anteriores a essa frase, pois isso que postou só se re

 

... não necessariamente tem todos os bits iguais a 0.

Você realmente não tem noção da merda que está falando, sabe ao menos o que são bits?

Quaisquer bits acesos em uma variável o valor da mesma não será 0, não existe 0 com bits acesos, 0 não possui nenhum bits acesos.

Agora minha segunda pergunta, sabe o que é type casting? Você colocou alí "(T * 0)", isso[(void *)] não é multiplicação meu caro, é um type casting para um ponteiro nulo, ou seja, 0.

 

Faça uma comparação, execute e veja se estou errado, se ambos os tamanhos forem iguais, lamento, mas estou correto:

É necessário se cadastrar para acessar o conteúdo.

 

Como eu já disse e repito, tire suas próprias conclusões e não se limite a certos conteúdos, muitas coisas que a microsoft não fala, você descobre por si mesmo.

Darkness is a part of my soul

5de5ae31e8.jpg

Link para o comentário
Compartilhar em outros sites

Não entendi porque cita tanto Microsoft em seus comentários, como se a mesma tivesse algo a ver com a criação da linguagem. E outra coisa é querer comparar COMPORTAMENTO INDEFINIDO de um programa que exiba um texto inútil de outro mais complexo. Mas enfim, se abrir um arquivo .h e ver menos de 10 linhas prova algo, o senhor está correto.

 

Coloquei o void dentro de um segundo parêntese pois tinha criado uma estrutura de condição e ao editar, acabei esquecendo de removê-lo. E quanto ao que escrevi, posso ter me expressado errado, mas de qualquer forma eu não vou mudar sua forma de pensar, tampouco você a minha. Então, é perda de tempo eu continuar explicando algo aqui. Encerro.

Link para o comentário
Compartilhar em outros sites

Microsoft possui a melhor IDE relacionada a linguagem C/C++, e que na mesma são aplicados todos os conceitos relacionados a linguagem e suas definições, e somente citei-a na última linha do post anterior.

Não quero que mude quaisquer formas de pensar sobre quaisquer coisas, porém é inapropriado falar sobre coisas que não possui sequer conhecimento, isso sim é um erro.

Darkness is a part of my soul

5de5ae31e8.jpg

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.