Ir ao conteúdo

Programa


Ruka284

Posts recomendados

Postado

O que posso melhorar?

este programa é ler uma sequencia de numeros e escrever por ordem inversa da leitura.


#include<stdio.h>
#include<stdlib.h>

#define tam 3

int main()
{
int numeros[tam];
int i;

printf("Introduza 3 numeros");
for (i= 0; i<tam; i++)
scanf("%d",&numeros[i]);
printf("traz para a frente");
for (i= tam -1; i>=0; i--)
printf("%d",numeros[i]);

system("pause");
return 0;

Postado

Olá Ruka,

sua pergunta foi: O que posso melhorar?

Aí vai minha dica. Já pensou que bacana se o número de entradas fosse ilimitado?

Pois bem, como fazer isso? Usaremos memória dinâmica. Nos apoiando em funções como realloc, malloc etc.

Veja o seu software "melhorado" e estude-o a fim de acrescentar conhecimento, grande abraço.

#include<stdio.h>
#include<stdlib.h>


void mostrarNumeros(int *numeros, int size){
register int i = 0;
printf("Numeros invertidos:\n");
for (i=size-1;i>=0;i--)
printf("%d",numeros[i]);
printf("\n\n");
}

int main()
{
int *numeros;
int index = 0;
int option = 0;
numeros = (int*) malloc(sizeof(int));
do{
printf("Menu\n1 -\tInserir numero\n2 -\tSair\nResposta: ");
scanf("%d",&option);
if(option != 1)
break;
else{
printf("\nNumero: ");
if(index == 0){
scanf("%d",&numeros[0]);
index++;
}else{
numeros = (int*) realloc(numeros,sizeof(int) * (index+1));
scanf("%d",&numeros[index]);
index++;
}
}
system("cls");
mostrarNumeros(numeros,index);
}while(1);
system("pause");
free(numeros);
return 0;
}

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!