PR
dúvida

Programação C

Por Prodigious, 26 de mai. de 2013 em Resolvidos

resolvido
otserv
tibia
31
3.6k
ProdigiousP
26 de maio de 2013 às 14:52

Olá pessoal do XTibia

 

 

Estou aprendendo programação C. Recentemente cheguei na parte de laços (for, while, etc...) e tenho dificuldades com esses laços. Preciso de um programa em C que resolve calculos de multiplicação através do for. Por exemplo. O usuário digita, 2 e 3. O programa faz o seguinte calculo: 2+2+2 e imprime 6. Para incrementar, coloque leituras sobre laços, principalmente for.

 

Ajudou? REP+

 

Obrigado!

SlicerS
26 de maio de 2013 às 15:07

int first, second, total = 0;
//pega o 1* numero ...
//pega o 2* numero ...
for(int i = 1; i<=second; i++)
  total += first;

printf("\nTotal: %d", total);

 

achu q eh assim n? ;x

eu soh sei C++... n sei se funciona em C mas achu q eh algu +/- assim...

ProdigiousP
26 de maio de 2013 às 15:35

Slicer vou testar

 

Slicer deu vários valores.

 

int main() {

 

int first, second, total;

scanf("%d", &first);

scanf("%d", &second);

for(first = 1; first<=second; first++) {

total += first;

 

printf("\nTotal: %d", total); }

fredpaduaF
26 de maio de 2013 às 15:40

Vários valore porque o print está repetindo..

Se tirar ele daí e colocar ele pra fora, deve imprimir só o final.

Editado Maio 26 por FaltouCriatividade

ProdigiousP
26 de maio de 2013 às 15:57

Valeu cara, mais só que

 

o resultado não está correto

26 de maio de 2013 às 16:15

pegou normal aqe

int main()
{
   int first, second, total = 0;
   scanf("%d", &first);
   scanf("%d", &second);
   int i = 1;
   for (i; i <= second; i++)
       total += first;

   printf("\nTotal: %d", total);
   getch();
}

ProdigiousP
26 de maio de 2013 às 16:20

valeu mano, o que significa esse total += first? vou estudar a lógica estrutural do programa, ou seja a lógica que contitui o programa

26 de maio de 2013 às 16:25

a += b é o mesmo que a = a + b

se chama atribuição por adição..

Editado Maio 26 por fireelement

ProdigiousP
26 de maio de 2013 às 16:26

ganhou 2 rep só hj! valeu

fredpaduaF
26 de maio de 2013 às 16:29

Muito bom fire,

é que eu nunca peguei C, só C++

então nem tentei mudar nada

porque nao conheço a diferença entre

as estruturas.

ProdigiousP
26 de maio de 2013 às 17:19

alguém poderia me explicar a lógica estrutural do programa?

 

pode ser código comentado, desde que seja 1 pouco detalhado, vale 2 rep+

 

exemplo

for (i = 1; i <= second; i++)

total += first;

 

o que é esse total?

 

(valor)

 

fireelement poderia me ajudar??

 

alguém por favor! vale 2 rep+

26 de maio de 2013 às 17:19

ve se dá pra entender:

int main()
{
   int primeiro, segundo, resultado = 0;
   scanf("%d", &primeiro);
   scanf("%d", &segundo);
   int repeticoes = 1;
   for (repeticoes; repeticoes <= segundo; repeticoes = repeticoes + 1)
       resultado = resultado + primeiro;

   printf("\nTotal: %d", resultado);
   getch();
}

 

vamos supor que o primeiro número é 5 e o segundo é 6, o for vai fazer isso:

resultado + primeiro = resultado

0 + 5 = 5------

5 + 5 = 10------

10 + 5 = 15------

15 + 5 = 20------

20 + 5 = 25------

25 + 5 = 30------

 

5 x 6 = 30

 

é meio difícil pra explicar, até pq aprendi isso agora também sakopsak

Editado Maio 26 por fireelement

ProdigiousP
26 de maio de 2013 às 17:23

muito obrigado cara, você é um ótimo programador! tenho 13 anos

fredpaduaF
26 de maio de 2013 às 17:25

Complementando o fire

 

int main()
{
int first, second, total = 0;  //declarando as variaveis
scanf("%d", &first);			//lendo variavel first
scanf("%d", &second);	  //lendo variavel second
int i = 1;							 //declara uma variavel pra ser incrementada(adicionar valor a ela)
for (i; i <= second; i++)	  // para i (começando em 1) ; enquanto i (1) for menor ou igual a variavel second ; adicione +1 a i (i++ igual a i = i+1)
	total += first;				 //total é a variavel que vai guardar os valores que vao ser somados
										 // o total recebe o total(0) + first, e guarda o valor, depois faz denovo e soma o valor que no caso ele guardou 2, ele vai fazer o loop 3x como declarado no second
										 // e termina com 3 voltas somando total sempre com +2

printf("\nTotal: %d", total);
getch();
}

 

entendeu ?

 

Desculpe, mas nao entendo essa formatação do forum ;x

ProdigiousP
27 de maio de 2013 às 16:41

2 reps para cada, satisfeitos?

 

como ficaria usando while/