Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/10/2010, 09:10
Trovaz
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 14 años, 3 meses
Puntos: 9
Respuesta: Ayuda con un programa de dev-c++

Aqui te tengo un ejemplo de como lo haria en c, en realidad lo que tienes que hacer es recorrer lo valores a partir del valor que quieres que sea borrardo y reducir el tamaño de la lista.

Código c:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5. int main()
  6. {
  7.   int maximo;
  8.   int valores[50];
  9.   int i, j, opcion = 0;
  10.   int borrar;
  11.   printf("Cuantos valores deseas ingresar?: ");
  12.   scanf("%i", &maximo);
  13.   while(getchar() != '\n');
  14.   fflush(stdin);
  15.  
  16.   for(i = 0; i < maximo; i++)
  17.     {
  18.       printf("valor[%i] :", i);
  19.       scanf("%i", &valores[i]);
  20.       while(getchar() != '\n');
  21.       fflush(stdin);
  22.     }
  23.  
  24.   printf("\nMostrando lista:\n");
  25.   for(i = 0; i < maximo; i++)
  26.     {
  27.       printf("[%i] ", valores[i]);
  28.     }
  29.   printf("\n");
  30.  
  31.   printf("Deseas borrar algun elemento?[0/1]: ");
  32.   scanf("%i", &opcion);
  33.   while(getchar() != '\n');
  34.   fflush(stdin);
  35.  
  36.   if(opcion == 1)
  37.     {
  38.       printf("Inserta el valor del elemento cuya parte posterior sera borrada: ");
  39.       scanf("%i", &borrar);
  40.       while(getchar() != '\n');
  41.       fflush(stdin);
  42.       for(i = 0; i < maximo; i++)
  43.         {
  44.           if(valores[i] == borrar)
  45.             {
  46.               if((i + 1) < maximo)
  47.                 {
  48.                   for(j = i + 1; j < maximo; j++)
  49.                     {
  50.                       if( (j + 1) < maximo)
  51.                         {
  52.                           valores[j] = valores[j+1];
  53.                         }
  54.                     }
  55.                   valores[j] = 0;
  56.                   maximo--;
  57.                 }
  58.               else printf("No hay elementos despues del valor: %i,  valores[i]");
  59.             }
  60.         }
  61.     }
  62.  
  63.   printf("\nMostrando lista:\n");
  64.   for(i = 0; i < maximo; i++)
  65.     {
  66.       printf("[%i] ", valores[i]);
  67.     }
  68.   printf("\n");
  69. }

Obtengo esta salida:
Código:
Cuantos valores deseas ingresar?: 5
valor[0] :1
valor[1] :2
valor[2] :3
valor[3] :4
valor[4] :5

Mostrando lista:
[1] [2] [3] [4] [5]
Deseas borrar algun elemento?[0/1]: 1
Inserta el valor del elemento cuya parte posterior sera borrada: 3

Mostrando lista:
[1] [2] [3] [5]
Espero te sea de ayuda

Saludos++;