Ir ao conteúdo

Posts recomendados

Postado
#include <stdio.h>


int main (void)

{


	int num,resultado,cont;

	
	printf ("Soma dos cem primeiros numero \n",num);

resultado = cont * 50;
	
	while (cont <= 100)
	{
		printf ("%d + %d = %d \n",num,cont, num+cont);
		cont++;
		
	
	}

	 if (cont=100)
	 {
	resultado = cont *50;
	
	 printf ("Resultado da soma dos cem algarismos e:\n\n",resultado);
	 	
	 	
	 }



}

Preciso fazer um código que mostre  os cem primeiros números inteiros e imprima a resposta ( 5050 no caso), usando while, eu tentei de todo jeito , mas só consigo sempre fazer que o contador faça a contagem e nunca a resposta.

 

EDIT: Esses "resultado = cont * 50" foram testes mal sucedidos que esqueci de tirar.

Postado

@Lucca Rodrigues Era isso que eu queria fazer e não sabia como, só para ver se eu entendi sua lógica e não só dar cntrl + v,

O seu código é fazer a repetição do loop somando um ao número anterior a cada vez que passa( como 59+1, 60+1, 61+1...) E ai quando sai do laço ele imprime o resultado da soma de todas as passagens do loop?

  • Curtir 1
Postado
27 minutos atrás, Vitor Fredie Dreher Galvão disse:

Eu tentei "fazer isso" usando o resultado = cont *50 , que no caso é prático da essa regra geral


Não entendi o que quer dizer

 

[1]	int num,resultado,cont;

	
[2]	printf ("Soma dos cem primeiros numero \n",num);

[3]    resultado = cont * 50;
	
[4]	while (cont <= 100)
	{
      ...

Em seu programa tem (ou deveria ter) uma razão para cada linha que escreve.

 

  • em [1] declarou 3 variáveis, num, resultado e cont e não deu qualquer valor para elas.
  • em [2] Tentou imprimir "Soma dos cem primeiros numero \n" mas há um erro de concordância e também passou um parâmetro, num, que declarou na linha anterior e não sabe que valor tem. E não usou o tal num. Bem errado.
  • em [3] você multiplica cont por 50. Mas acabou de declarar cont e não tem nada lá. Então que pretende com o resultado? Não vai ter nada significativo também.
    E se achava que isso daria 5050 sugiro pensar melhor. Mesmo que cont fosse100 --- o que não é porque você acabou de declarar --- multiplicar 50 por 100 vai dar 5.000
  • em [4] o loop while() vai rodar enquanto cont for menor ou igual a 100. Mas quanto vale cont? Já pensou nisso? Se queria que o loop varresse os números de 1 a cont você deveria ter escrito isso no programa.

    Hoje em dia os sistemas iniciam as variáveis todas com zero, como parte de um esforço para evitar hacking através da injeção de código no meio das variáveis. Então cont deve ser zero inicialmente.

 

  • Curtir 1
Postado

@arfneto é a primeira vez que uso a ferramenta, então não entendo a lógica dela, quissá sei o básico da lógica de programação, geralmente eu não tenho suporte do professor para  aprendizado e acabo tentando fazer as coisas quebrando a cabeça e pesquisando em fóruns e postando as dúvidas por isso os inúmeros erros do meu código.

[1] Como são variáveis eu pensei que elas não precisavam de valores, por serem algo que muda durante a contagem do loop;

[2] Vendo agora que você falou foi uma burriçe bem grande ter feito isso antes do processo todo, mas depois do processo eu poderia ter imprimido o resultado  assim ?;

[3]Isso ai foi uma tentativa cega de desespero;

[4] Pelo que o professor disse eu não precisaria de um parâmetro inicial , somente o final por isso eu deixei ele sem um contador ( no meu caso seria o 1)

Você poderia me indicar algum lugar extra para ler sobre? Algum conteúdo de vídeo ? livro ? Só as aulas que assisto não acrescentam em absolutamente nada pra mim.

E obrigado pelas dicas e pontuações.

 

@Lucca Rodrigues Peguei a lógica que você usou ,muito obrigado pela ajuda.

  • Curtir 1
Postado
1 hora atrás, Vitor Fredie Dreher Galvão disse:

Como são variáveis eu pensei que elas não precisavam de valores, por serem algo que muda durante a contagem do loop


É verdade, mas você entrou no loop já testando o valor de uma delas. Esse é o problema. 

 

1 hora atrás, Vitor Fredie Dreher Galvão disse:

Isso ai foi uma tentativa cega de desespero


:D isso foi engraçado

 

1 hora atrás, Vitor Fredie Dreher Galvão disse:

Pelo que o professor disse eu não precisaria de um parâmetro inicial , somente o final por isso eu deixei ele sem um contador ( no meu caso seria o 1)

 

Troque seu professor por um livro

 

Seu curso não tem um livro-texto? Em geral as escolas tem um livro-texto para o curso. Ou tinham. 

 

1 hora atrás, Vitor Fredie Dreher Galvão disse:

Você poderia me indicar algum lugar extra para ler sobre? Algum conteúdo de vídeo ?

 

O livro sobre C acho que sempre é o livro branco de Kernighan e Ritchie, "A linguagem de programação C". Mas tem muitos livros.

 

Sua escola não tem uma biblioteca virtual? Muitas escolas assinam serviços assim e os alunos podem acessar um grande número de livros.

 

Sei que tem muito material no Youtube mas não sei recomendar. Tem esse site Udemy de educação online, gigante. Lá tem agora 69 cursos sobre C para iniciantes. Na onda da pandemia os cursos estão custando em geral 23,99. Pode ser uma oportunidade. Os que são em lingua estrangeira em geral tem legendas em português. https://www.udemy.com/courses/search/?courseLabel=9174&q=c+language&sort=relevance&src=sac

Deve ter alguns grátis também.

 

Pode tentar um trial em oreilly.com, 30 dias grátis e ver o que acha. É a maior biblioteca técnica desse tipo que existe, em https://www.oreilly.com/

 

Você entende inglês? https://www.classcentral.com/course/c-for-everyone-16909 Esse curso é da universidade da California em santa cruz, UCSC grátis.

 

Insisto no que te falei antes: o programa vai refletir uma ideia que você tem para resolver o problema. Se você não tem uma ideia não tem um programa. Não adianta. Tenha a ideia primeiro. Pense, rabisque, desenhe, simule. essas coisas. ANTES.

 

Algo assim no papel por exemplo não seria surpresa

 

image.png.c8aa4f8afdd54ec77730ac8af9fb3cab.png


E não pense em escrever tudo de uma vez, mesmo um programa simples. Hoje em dia é muito rápido escrever programas. 

 

Veja seu enunciado por exemplo. Você precisa somar os caras mas está começando a programar. Sabe que tem o número, a soma, o loop, sabe até o resultado porque é uma fórmula do ensino fundamental afinal. Soma O primeiro com o último, multiplica pelo número de elementos e divide por dois. Também não seria difícil deduzir a fórmula.

1+2+3+4 = 10  1+4 = 5, 5 x 4 = 20, 20 / 2 = 10 por exemplo

 

Imagine que você escreveu esse programa

#include "stdio.h"
int main()
{
	int limite = 5;
	int soma = 0;
	for (int numero = 1; numero <= limite; numero = numero + 1)
	{
		printf("%d ", numero);
	};	// for()
}

E rodou e saiu isso

1 2 3 4 5

Dentro do esperado. Mas aí você já tem as variáveis, o loop e tal. Como deu certo você se anima e soma os caras. E no final você imprime porque se não imprimir não vai saber se somou... Cada coisa com um propósito

 

Como você está desconfiado e o programa é curtinho você recorta e cola o lop logo abaixo

#include "stdio.h"
int main()
{
	int limite = 5;
	int soma = 0;
	for (int numero = 1; numero <= limite; numero = numero + 1)
	{
		printf("%d ", numero);
	};	// for()

	printf("\n");
	for (int numero = 1; numero <= limite; numero = numero + 1)
	{
		printf("%d ", numero);
		soma = soma + numero;
	};	// for()
	printf("\n");
	printf("soma foi de %d ", soma);
	printf("limite era %d ", limite);
}

 

porque não quer digitar em cima do que funcionou

 

 E aí sai

1 2 3 4 5
1 2 3 4 5
soma foi de 15 limite era 5

E aí você pensa:

  • se somou até 5 pode somar até qualquer número
  • se o loop está certinho e só preciso da soma não preciso imprimir nada exceto a soma

    Agora posso apagar o primeiro teste ao menos...
    #include "stdio.h"
    int main()
    {
    	int limite = 5;
    	int soma = 0;
    
    	for (int numero = 1; numero <= limite; numero = numero + 1)
    	{
    		printf("%d ", numero);
    		soma = soma + numero;
    	};	// for()
    	printf("\n");
    	printf("soma foi de %d ", soma);
    	printf("limite era %d ", limite);
    
    	limite = 100;
    	soma = 0;
    	printf("\n");
    	for (int numero = 1; numero <= limite; numero = numero + 1)
    	{
    		//printf("%d ", numero); // nao precisa mais
    		soma = soma + numero;
    	};	// for()
    	printf("\n");
    	printf("soma foi de %d ", soma);
    	printf("limite era %d ", limite);
    }

    E ver o que dá:

1 2 3 4 5
soma foi de 15 limite era 5

soma foi de 5050 limite era 100

E somou, afinal é o que está no programa. Então podemos ficar só com o último loop e não ficar mostrando os 100 números

#include "stdio.h"
int main()
{
	int limite = 100;
	int soma = 0;
	for (int numero = 1; numero <= limite; numero = numero + 1)
		soma = soma + numero;
	printf("soma foi de %d\n", soma);
	printf("limite era %d\n", limite);
}

E ver

soma foi de 5050
limite era 100

Pense nisso

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!