0 votos
por (20 puntos) en C/C++
#include<stdio.h>

#include<stdlib.h>

int main (){

int i=0,tam=0;

printf("¿Cuantos datos ingresaras?\n");

scanf("%d",&tam);

if(tam>1){

int valor[tam];

for(i=0;i<5;i++){

   printf("ingresa el valor %d\n",i+1);

   scanf("%d",&valor[i]);

   system("clear");}

 for(i=tam;i>=0;i--){

  printf("Tu valor %d es:%d\n",valor[tam],valor[i]);}}

return 0;}

1 Respuesta

0 votos
por (80 puntos)

En primer lugar la forma de establecer el tamaño de un arreglo dinámicamente es así:

int *valor = (int*)malloc(tam * sizeof(int));

En segundo lugar: el primer for debería iterar según la cantidad de números que elegimos ingresar:

for(i=0;i<tam;i++){

En tercer lugar: el segundo for debería empezar en "tam-1", porque como el indice 0 cuenta, estaríamos sumando un valor que no utilizamos.

for(i=tam-1;i>=0;i--){

Y por ultimo la primera variable que le pasas al ultimo printf, deberia ser "i+1"

printf("Tu valor %d es:%d\n",i+1,valor[i]);

El codigo completo corregido seria así:

#include<stdio.h>

#include<stdlib.h>

int main (){

int i=0,tam=0;

printf("¿Cuantos datos ingresaras?\n");

scanf("%d",&tam);

if(tam>1){

int *valor = (int*)malloc(tam * sizeof(int));

for(i=0;i<tam;i++){

   printf("ingresa el valor %d\n",i+1);

   scanf("%d",&valor[i]);

   system("clear");

   }

 for(i=tam-1;i>=0;i--){

  printf("Tu valor %d es:%d\n",i+1,valor[i]);

}

}

return 0;}

Preguntas relacionadas

0 votos
0 respuestas
preguntado por Nicolas57 (60 puntos) May 3, 2020 en C/C++
0 votos
0 respuestas
preguntado por AXELJS (40 puntos) Mar 16, 2020 en C/C++
0 votos
2 respuestas
preguntado por RegemTM (20 puntos) Ago 1, 2019 en C/C++
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...