none
Iniciando en C# RRS feed

  • Pregunta

  • hola que tal, recién estoy empezando a aprender este lenguaje ya que aprendí en C++

    y estoy probando resolver algunos ejercicios viejos en este lenguaje, quisiera saber como quedaría estos 2 ejercicios en C# asi puedo tener una guía para realizar otros. ya que he intentado con videos pero no me resulta, asi que si alguien pudiera indicarme cual seria la forma de hacerlo estaria muy agradecido

    las 2 consignas son

    1) Hacer un programa que permita ingresar una lista de números que corta cuando se ingresa un cero. A partir de dichos datos informar:

    a. El mayor de los números pares.
    b. La cantidad de números impares.
    c. El menor de los números primos

    2)

    Confeccionar las siguientes funciones:

    - Función Ordenar que reciba un vector y lo ordene de mayor a menor.
    - Función Promedio reciba un vector numérico y que devuelva el promedio de los elementos dentro del mismo.

    Hacer un programa que pida números y cargue un vector de 10 elementos y muestre en pantalla los números ordenados y el promedio de los mismos haciendo uso de las funciones antes desarrolladas.

    Gracias de ante mano a los que me puedan ayudar

    viernes, 21 de agosto de 2020 14:58

Respuestas

  • Visto que mencionas que ya aprendiste C++, parto de la hipótesis de que ya sabes resolver los ejercicios en C++ y solo necesitas saber las diferencias en C#.

    Para el primero, "ingresar una lista que se corta al ingresar un cero", utiliza la función Console.Readline() para leer una cadena de caracteres en la consola. Para convertirla en número puedes usar int.Parse. Para guardarla en una lista de longitud variable, declara una variable así:

    List<int> lista = new List<int>();

    y después vas llamando a lista.Add(numero) para irle añadiendo los números que has leído y convertido. Lógicamente esto lo puedes hacer con un bucle while o do...until hasta que leas un cero. La sintaxis para hacer esto es idéntica a la de C++, por lo que no deberías tener ninguna dificultad en esta parte.

    Para buscar el mayor de los pares, la cantidad de impares o el menor de los primos, si lo sabes hacer en C++ el mismo código te valdrá en C#, con la diferencia de que no puedes usar punteros (bueno, sí puedes pero requiere habilitarlo expresamente), por lo que tendrás que usar la indexación con [] en lugar de usar un * para dereferenciar el array. Por cierto, el List lo puedes convertir en array así:

    int[] numeros = lista.ToArray();

    • Marcado como respuesta Jose Sanchez S viernes, 21 de agosto de 2020 17:50
    viernes, 21 de agosto de 2020 17:30
    Moderador

Todas las respuestas

  • Visto que mencionas que ya aprendiste C++, parto de la hipótesis de que ya sabes resolver los ejercicios en C++ y solo necesitas saber las diferencias en C#.

    Para el primero, "ingresar una lista que se corta al ingresar un cero", utiliza la función Console.Readline() para leer una cadena de caracteres en la consola. Para convertirla en número puedes usar int.Parse. Para guardarla en una lista de longitud variable, declara una variable así:

    List<int> lista = new List<int>();

    y después vas llamando a lista.Add(numero) para irle añadiendo los números que has leído y convertido. Lógicamente esto lo puedes hacer con un bucle while o do...until hasta que leas un cero. La sintaxis para hacer esto es idéntica a la de C++, por lo que no deberías tener ninguna dificultad en esta parte.

    Para buscar el mayor de los pares, la cantidad de impares o el menor de los primos, si lo sabes hacer en C++ el mismo código te valdrá en C#, con la diferencia de que no puedes usar punteros (bueno, sí puedes pero requiere habilitarlo expresamente), por lo que tendrás que usar la indexación con [] en lugar de usar un * para dereferenciar el array. Por cierto, el List lo puedes convertir en array así:

    int[] numeros = lista.ToArray();

    • Marcado como respuesta Jose Sanchez S viernes, 21 de agosto de 2020 17:50
    viernes, 21 de agosto de 2020 17:30
    Moderador
  • MUCHAS GRACIAS
    viernes, 21 de agosto de 2020 17:51
  • Hola

    Veo que ya tienes una respuesta a tu pregunta. Si tienes otra consulta no dudes en abrir otro hilo.

    Saludos!

    --------------------------------------------------------------------------------

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN sientase en la libertad de contactar  MSDNFSF@microsoft.com. 

    lunes, 24 de agosto de 2020 17:01
    Moderador