Ajuda em array

1. Ajuda em array

Sérgio Felix
sergiofeli

(usa Ubuntu)

Enviado em 12/06/2013 - 17:20h

Boa noite, não estou conseguindo completar esse exercício que deve imprimir o dobro do número inserido.
Segue a Questão:
Descrição
Você receberá uma sequência de números inteiros e deve imprimir o dobro de cada número recebido.
Formato de entrada
Você receberá um número inteiro n, indicando quantos números virão a seguir. Depois você receberá n linhas, cada uma com um número inteiro. Você deve imprimir o dobro de cada número dessas n linhas.
Considere n<=20
Formato de saída
Você deve imprimir o dobro de cada número, sendo um por linha.
Por exemplo, para a entrada:
3
10
50
110
Você deve imprimir:
20
100
220

Meu código é esse:

#include<stdio.h>
int main(){
int n, i, j;
scanf("%d", &n);
int a[n], b[n];
j=n-1;
for (i=0;i<n;i++){
scanf("%d", &a[i]);
b[j]=a[i]*2;}
for(i=0;i<n;i++)
printf("%d\n", b[i]);}

O problema é que ele imprime apenas o dobro do último número, gerando nos anteriores aleatórios (guardados no sistema). Alguma idéia do que seja?
Obrigado :)



  


2. Re: Ajuda em array

wellington
wellingtonsr

(usa Slackware)

Enviado em 12/06/2013 - 19:33h

sergiofeli escreveu:

Boa noite, não estou conseguindo completar esse exercício que deve imprimir o dobro do número inserido.
Segue a Questão:
Descrição
Você receberá uma sequência de números inteiros e deve imprimir o dobro de cada número recebido.
Formato de entrada
Você receberá um número inteiro n, indicando quantos números virão a seguir. Depois você receberá n linhas, cada uma com um número inteiro. Você deve imprimir o dobro de cada número dessas n linhas.
Considere n<=20
Formato de saída
Você deve imprimir o dobro de cada número, sendo um por linha.
Por exemplo, para a entrada:
3
10
50
110
Você deve imprimir:
20
100
220

Meu código é esse:

#include<stdio.h>
int main(){
int n, i, j;
scanf("%d", &n);
int a[n], b[n];
j=n-1;
for (i=0;i<n;i++){
scanf("%d", &a[i]);
b[j]=a[i]*2;}
for(i=0;i<n;i++)
printf("%d\n", b[i]);}

O problema é que ele imprime apenas o dobro do último número, gerando nos anteriores aleatórios (guardados no sistema). Alguma idéia do que seja?
Obrigado :)



O j dessa linha "b[j]=a[i]*2"; não está sendo incrementado para percorrer o vetor. Se "n" tem o valor 4 no inicio, após essa linha "j=n-1;" ele vai estar com 3 (4 - 1) e só. Mude o "j" por "i". Assim "b[i]=a[i]*2;"





3. Re: Ajuda em array

Augusto
LinuxMH

(usa BackTrack)

Enviado em 12/06/2013 - 21:07h

ele vai imprimir no final ? se for

#include <stdio.h>
main()
{
int n;
printf("Digite N \n");
scanf("%d", &n);
int a[n], b[n];
for(int i=0; i<n; i++)
{
printf("Digite o numero");
scanf("%d", a[i]);
b[i]=a[i]*2;
}
for(int i=0; i<n; i++)
printf("Dobro do numero: %d\n", b[i]);
}

Eu não testei mas olha ai vê se da






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts