elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Solución para mi ejercicio en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Solución para mi ejercicio en C  (Leído 1,649 veces)
sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Solución para mi ejercicio en C
« en: 3 Enero 2013, 13:03 pm »

Buenas,

En un examen sobre C tenía este ejercicio y no lo supe hacer correctamente, agradecería que me dieseis una solución para compararlo con el que yo hice.


Muchas gracias ;)



Escribe un programa que mostrará un menú con las siguientes opciones:

• Introducir datos: se llenará un vector de 7 elementos con números que se pedirán al usuario. Estos números deben ser múltiplos de 3 o de 4.

• Generar datos: se llenará el mismo vector, pero con números aleatorios entre 0 y 100. Deben ser múltiplos de 3 o de 4.

• Mover a la derecha: se pedirá un número al usuario entre 1 y 6. Los números del vector se moverán tantas posiciones a la derecha como haya indicado el usuario, los números que salen por la derecha del vector, aparecen por el otro lado. Se mostrará el vector antes y después de la operación.

Por ejemplo, si el vector era {9, 12, 21, 32, 36, 3, 4} y se mueve dos posiciones, quedando: {3, 4, 9, 12, 21, 32, 36}. (Ver figura 1 )
Sólo se podrá ejecutar si antes se han introducido datos.





• Visualizar vector: Se pedirá un número al usuario entre 1 y 7 y se mostrará el contenido del vector desde la posición inicial a la introducida por el usuario. Sólo se podrá ejecutar si antes se han introducido datos.

• Salir del programa: cerrará el programa.

• Punto Extra:
Intercambiar: se elegirán dos de los números del vector de forma aleatoria, y se intercambiarán de lugar. Se mostrará el vector antes y después de la operación. Por ejemplo, el vector {1,2,3,4,5,6,7} podría convertirse en {1,5,3,4,2,6,7}.





Mi código es este:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. // Algorisme 1 de vectors examen
  5.  
  6. int main() {
  7.    int opcio,i,num,pos;
  8.    int vector[7];
  9.    int vector2[7];
  10.    int emplenat=0;
  11.    opcio=0;
  12.    while (opcio!=5){
  13.    printf("1.Introduir numeros manualment\n");
  14.    printf("2.Introduir automaticament\n");
  15.    printf("3.Moure cap a la dreta\n");
  16.    printf("4.Visualitza el vector\n");
  17.    printf("5.Sortir\n");
  18.    scanf("%i",&opcio);
  19.    fflush(stdin);
  20.    switch(opcio){
  21.                  case 1:
  22.                       i=0;
  23.                       while (i<7){
  24.                             printf("Donam un numero");
  25.                             scanf("%i",&num);
  26.                             if (num%3==0 || num%4==0){
  27.                                           vector[i]=num;
  28.                                           i++;
  29.                                           }
  30.                        }
  31.                        emplenat=1;
  32.                        break;
  33.                  case 2:
  34.                       i=0;
  35.                       while (i<7){
  36.                             num=rand()%101;
  37.                             if (num%3==0 || num%4==0){
  38.                                           vector[i]=num;
  39.                                           i++;
  40.                                           }
  41.                             }
  42.                       emplenat=1;
  43.                       break;
  44.                  case 3:
  45.                       if (emplenat==1){
  46.                                        printf("Quantes posicions vols");
  47.                                        scanf("%i",&pos);
  48.                                        for (i=0;i<7;i++){
  49.                                            if((vector[i-pos])<0) vector2[i]=vector[i-pos+7];
  50.                                            else vector2[i]=vector[i-pos];
  51.                                            }
  52.                                        printf("Abans de moure els elements\n");
  53.                                        for (i=0;i<7;i++){
  54.                                            printf("Posicio %i = %i\n",i,vector[i]);
  55.                                            }
  56.                                        printf("Despres de moure els elements\n");
  57.                                        for (i=0;i<7;i++){
  58.                                            printf("Posicio %i = %i\n",i,vector2[i]);
  59.                                            }
  60.                                        }
  61.                       break;
  62.                  case 4:
  63.                       if (emplenat==1){
  64.                                        printf("Fins a quina posicio\n");
  65.                                        scanf("%i",&pos);
  66.                                        for (i=0;i<pos;i++){
  67.                                            printf("%i ",vector[i]);
  68.                                        }
  69.                                        printf("\n");
  70.                                        }
  71.                       break;
  72.                  }
  73. }
  74.    system("pause");
  75.    return 0;
  76. }


En línea

durasno


Desconectado Desconectado

Mensajes: 373


Ver Perfil
Re: Solución para mi ejercicio en C
« Respuesta #1 en: 3 Enero 2013, 23:58 pm »

Especifica que es lo que no te salio correctamente para asi ayudarte con eso. Despues el resto no creo que haya tantas opciones de hacerlo diferente al tuyo


SAludos


En línea

Ahorrate una pregunta, lee el man
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Solución para el Gameshark !
Juegos y Consolas
black 1 1,622 Último mensaje 9 Febrero 2004, 23:19 pm
por theskull
solucion para mp3
Multimedia
bobi 1 1,274 Último mensaje 27 Julio 2005, 06:08 am
por jvchino
[Ejercicio] Aca tienen un ejercicio para practicar « 1 2 3 »
Programación Visual Basic
Dreamaker 20 15,805 Último mensaje 5 Septiembre 2010, 02:57 am
por TGa.
[Python][Ejercicio (por y para novatos)] Función para elevar potencia
Scripting
kerith 7 19,303 Último mensaje 2 Enero 2011, 14:10 pm
por kerith
Keylogger: busco, sea compatible para vista y solucion para que no reconozca Nod
Software
Jack el destripador 1 3,225 Último mensaje 6 Enero 2011, 17:05 pm
por chillinfart
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines