Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Sixtoex

Páginas: 1 2 3 [4] 5 6
61
Dices: Cuando digo que tu clase datosCorreo no está bien diseñada me refiero a que hace cosas que no le corresponde hacer a esa clase.

Es decir que si cambio el nombre de la clase a EntradaTeclado(seria mucho mas adecuado que DatosCorreo por el simple hecho del ejercicio que estoy haciendo, se clasifica y se entiende mejor con entradaTeclado), si quiero hacer otra cosa pues agrego una nueva clase que haga esa cosa con un nombre de tipo clase que este bien clasificado?

Ahora noto que las funciones que e creado están mal, es decir no veo sentido alguno:  correoPrincipal podría haberle puesto por ejemplo EntradaCorreoPrimario ??? ??? ???

Es decir cuando dices:  El diseño de funciones, clases, programas, etc. es un aspecto importante de la programación.

te refieres a saber NOMBRAR cada cosa con su nombre adecuado para no liarse, para clasificar mejor, para ORDENAR etc etc no?

62
No puedo modificar el mensaje principal  :-\

de todas manera lo pongo aquí:

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tiempo
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] prueba = new int[12];
            imprimirTiempo hola = new imprimirTiempo(prueba);
           
           
        }
    }
}

63
Exactamente, es donde quiero llegar, dices:

En resumen, el problema que le veo a tu código es que aunque funcione no está bien diseñado y si no haces buenos diseños de programas el código no se podrá decir que es bueno, ni siquiera aunque funcione bien.

Es decir no esta bien diseñado a que te refieres a lo que me has dicho que de datosCorreo esta mal definida la clase? o que el código que e echo es poco legible?  :-\

Saludos amigo y gracias

64
Bueno el caso real es este, tengo que hacer un programa en el que tengo los siguientes vectores:

Locales: playa,rambla, barrio
Libres:
En venta:

Mediante una variable "x" ingreso alguno de los tres valores que hay en "Locales", si
x=Locales, que el dato se transfiera a "En venta" (esto lo se hacer), luego en "Libres" tendrían que cargarse los datos que quedaron sin ingresar.

Si yo ingreso x=playa, Libres=rambla, barrio y En venta= playa

Muy buenas amigo!!!  :P

Es un ejercicio sencillo, cuando estes saturado te aconsejo que pares y hagas otra cosa unos minutos, por que no veras ni el ejercicio mas simple del mundo  ;)

Vamos a crear 3 arrays de tipo cadena de texto, todos con un indice de 3  :)
Los nombres de los array que yo e creado:

locales
ventas
libre

Por último creamos un bucle For
Este apartado del ejercicio decías que si sabías:

 
Código: [Seleccionar]
for (int i = 0; i < 3;i++ )
            {
                if (Locales[i] == x)
                {
                   
                    Ventas[0] = Locales[i];
                }
                else
                {
             Libres[i] = Locales[i];
               }
            }

Osea lo único que te faltaba es el else y la línea  Libres[ i ] = Locales[ i ]; , creo que con el ejemplo de código de arriba es suficiente para que te des cuenta.


Te propongo un ejercicio:(escribe en la variable x la palabra "playa" y veras que tiene algunos errores) El código no esta completo ya que deja espacios de nombres en las posiciones, haz que cuando se imprima en consola aparezcan en orden y no que empiece por el 2 por ejemplo.  :)

65
Hola amigo  :)

antes que nada esta línea esta mal:

Código: [Seleccionar]
for(int x=0;x<1;x++){
System.out.println(c[x]);
}

seria así:

Código: [Seleccionar]
for(int x=0;x<2;x++){
System.out.println(c[x]);
}

¿por que te devuelve -1?, esto es muy fácil

Vector a en la posición 0 tiene el valor 1
vector b en la posicion 0 tiene el valor -2

 por que vector b tiene -2 y no 2 como yo le puse? por la siguiente línea:

Código: [Seleccionar]
c[x]=a[x]-b[x];
Fijate que es -b es decir esto hay que tener un poco de sentido comun:
RECTA:
Si a es mayor que b = El valor es POSITIVO  es decir 10 -5 = 5
Si a es MENOR que b = el valor es NEGATIVO es decir 2-3 = -1

66
No pones el lenguaje que usas  ???

Te lo explico sin utilizar ninguna sintaxis...  :P

tenemos 3 array

PrimerArray = 22,33,3
segundoArray = 12,30
TercerArray;
Utilizamos un bucle for que vaya a un maximo de 2 ¿por que de 2? por que el array que ocupa el menor indece es segundoArray(que tiene 2) es decir NO PODEMOS restarle la posicion 2 del primerArray a la posicion 2 del segundoArray (ya que segundoArray no tiene posicion 2)

primerArray
La posicion 0 = 22
la posicion 1 = 33
la posicion 2 = 3

segundoArray
la posicion 0 = 12
la posicion 1 = 30

Entonces hacemos un FOR
For(int i = 0; i < 2;i++)
{
 TercerArray{i} = primerArray{i} - segundoArray{i};
}

por que TercerArray[ i ] ¿que significa esa i ? ---> Simplemente le decimos que guarde en la posicion 0 y 1 los valores de restar la posicion 0 del primerArray con la posicion 0 del segundoArray

No se si me explique bien si no te entereastes dilo que te lo vuelvo a decir, es que estoy viendo un partido y ando deprisa

67
Planteamiento del Problema

Se requiere de un program que permita capturar e imprimir los datos de dos cuentas de correo electronico. Cada dato de la cuenta de correo (Id, dominio y password) dede digitarse por separado. Al imprimirse la cuenta los datos de ID y dominio deben aparecer unidos. Por ejemplo: zelaya.luis@gmail.com.

Debe validarse el password, solicitando que sea digitado dos veces y debe coincidir en ambas. Si este caso se da, no se establecen los datos de la cuenta de correo.



Bueno el programa en sí funciona correctamente, lo que no se es que esta correcto escribir todo así con tantos métodos para este ejercicio  ???

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace imprimirCorreo
{
    class datosCorreo
    {
        string idUsuarioPrincipal;
        string dominioPrincipal;
        string idUsuarioSecundario;
        string dominioSecundario;
        string passwordPrincipal;
        string passwordSecundario;
        string repetirPasswordPrincipal;
        string repetirPasswordSecundario;
        const string cuentaCorreo = "Cuenta de correo: Desconocido@Desconocido";
       public void correoPrincipal()
       {
       Console.WriteLine("Presione ENTER para ingresar datos de correo numero 1");
       Console.ReadLine();
       Console.Write("Id de Usuario: ");
       idUsuarioPrincipal= Console.ReadLine();
       Console.Write("Dominio: ");
       dominioPrincipal = Console.ReadLine();
       Console.Write("password: ");
       passwordPrincipal = Console.ReadLine();
       Console.WriteLine("Digite nuevamente el password: ");
       repetirPasswordPrincipal = Console.ReadLine();
       if (passwordPrincipal != repetirPasswordPrincipal)
       {
           Console.WriteLine("Las passwords no coinciden");
       }
       
       
       
       }

       public void imprimirCorreoPrimero()
       {
           if (repetirPasswordPrincipal == passwordPrincipal)
           {
               Console.WriteLine("Cuenta de correo: " + idUsuarioPrincipal + "@" + dominioPrincipal);
           }
           else
           {
               Console.WriteLine(cuentaCorreo);
           }
           
       }
       public void correoSecundario()
       {
           Console.WriteLine("Presione ENTER para ingresar datos de correo numero 2");
           Console.ReadLine();
           Console.Write("Id de Usuario: ");
           idUsuarioSecundario = Console.ReadLine();
           Console.Write("Dominio: ");
           dominioSecundario = Console.ReadLine();
           Console.Write("password: ");
           passwordSecundario = Console.ReadLine();
           Console.WriteLine("Digite nuevamente el password: ");
           repetirPasswordSecundario = Console.ReadLine();
           
           if (passwordSecundario != repetirPasswordSecundario)
           {
               Console.WriteLine("Las passwords no coinciden");
           }
         
       }
           public void imprimirCorreoSegundo()
       {
           if (repetirPasswordSecundario == passwordSecundario)
           {
               Console.WriteLine("Cuenta de correo: " + idUsuarioSecundario + "@" + dominioSecundario);
           }
           else
           {
               Console.WriteLine(cuentaCorreo);
           }
       
       }
       
         
       
    }
}

creando una nueva instancia y llamando métodos de la clase DatosCorreo

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace imprimirCorreo
{
    class Program
    {
        static void Main(string[] args)
        {
            datosCorreo imprimirCorreos = new datosCorreo();
            imprimirCorreos.correoPrincipal();
            imprimirCorreos.correoSecundario();
            Console.ReadLine();

            imprimirCorreos.imprimirCorreoPrimero();
            imprimirCorreos.imprimirCorreoSegundo();
         
        }
    }
}

68
Hola, disculpame con todo respeto, pero no es necesario que leas todo el curso para poder hacer algo simple, lo que vos necesitás no es más que un simple bucle y como bien te indicó Alex, necesitás ir agregando los que no existen y luego imprimirlos.

Si no eres capaz de hacer eso, la verdad no se en que trabajo podrás estar, porque eso es algo simple, yo no se nada de VB, pero no debe ser algo muy díficil, es cuestión de leer, yo cada vez que necesito saber algo, busco en y ahí encuentro el %95 de las veces lo que necesito.

Aquí te dejo esto que probablemente te sirva:

Tutorial: Manipular archivos y directorios en Visual Basic

Cómo: Obtener la colección de archivos de un directorio en Visual Basic

Buscar los ficheros de un directorio en Visual Basic .Net

Saludos.

Con todo respeto, la programación es lógica y lo que tu le estas ofreciendo es mecanizada, si el chaval no sabe trabajar con objetos como le pides que entienda algo tan "Simple"como dices?

69
Planteamiento del Problema

Se necesita de un programa que sirva para capturar el nombre y los valores de las ventas mensuales de un vendedor. Son 12 valores, uno por cada mes del año.
El programa debe repetirse para tantos vendedores como el usuario desea ingresar. Después de ingresar e imprimir los datos de un vendedor debe preguntarse al usuario si desea continuar o salir del programa. Cuando el usuario seleccione salir debe imprimirse un gran total de las ventas registradas en toda la corrida del programa.
Se requiere realizar el programa utilizando POO, manejando en archivos separados la declaración de la clase, la declaración de las funciones de la clase y el programa cliente que realice lo requerido.



Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tiempo
{
    class imprimirTiempo
    {
        string  nombreVendedor;
        int sumatorio = 0;
        int decision;
        public imprimirTiempo(int[]ventasMes)
        {
            Console.WriteLine("Ingrese datos de ventas del vendedor:");
            Console.WriteLine("Nombre del vendedor:");
            nombreVendedor = Console.ReadLine();
            for (int i = 0; i < 12;i++ )
            {

                Console.WriteLine("Introduzca el monto de ventas del mes:");
                ventasMes[i] = int.Parse(Console.ReadLine());

                sumatorio = ventasMes[i] + sumatorio;
               
               if(i == 11)
               {
                   Console.WriteLine("Las ventas anuales totales del vendedor " + nombreVendedor + " son : " + sumatorio);
                   Console.WriteLine("Digite -1 para salir, o 1 para continuar: ");
                   decision = int.Parse(Console.ReadLine());
                   if (decision == 1)
                   {
                       i = -1;
                       continue;
                   }
                   if (decision == -1)
                   {
                       Console.WriteLine("Gran total de ventas registradas: "+sumatorio);
                   }
               }


            }
           
           
        }

    }
}

CLASE PRINCIPAL

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tiempo
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] prueba = new int[12];
            imprimirTiempo hola = new imprimirTiempo(prueba);
           
           
        }
    }
}


El programa funciona correctamente, pero me queda  una dudilla  ???

A ver yo hice este ejercicio solo con un constructor y cree una nueva instancia en la clase principal(Tiempo)  :P

1.) en esta línea   public imprimirTiempo(int[]ventasMes)  antes la puse así   public int imprimirTiempo(int[]ventasMes)  pero me daba error, y hacia return a una variable de tipo int, osea que devolvia integer ¿por que ese error? el error me lo daba cuando llamaba a la instancia  >:(

AÑADIDO: ya se la respuesta, es por que un constructor no permite la devolución de un valor

2.)Este ejercicio esta bien así? es decir cada vez que hago métodos y clases la duda que tengo siempre es que no se si se puede dividir mas el código, es decir podría quitar parte de ese código y meterlo en otro constructor o algo así? yo creo que no, creo que se debe de trabajar en ese mismo siempre, por lo menos para este ejercicio no?


3.) Vi en un videocurso que utilizaban la libreria Shel32.dll por que es capaz de trabajar con archivos, pero mi duda es que busque por internet sobre trabajar con archivos en c# y no me sale Shell32, es decir no encuentro información sobre esa librería.. entonces estoy buscando en google pero no me aparece nadie o alguna pagina que con Shell32 podría  ??? puse esto en google: c# SABER LA DURACION DE UN VIDEO
Creo que con eso se puede.
http://msdn.microsoft.com/es-es/library/6yk7a1b0.aspx

 pero es de las librerias shell32 que es?

70
Muchas gracias alex

Saludos amigo  ;)

71
Los hice yo todos, por eso los puse aquí, quiero decir que estos ejercicios los encontré en esta página de la Universidad Tecnológica Nacional Facultad Regional Avellaneda: http://www.programacionutn.com.ar/foro/index.php?topic=508.0

Entonces, yo hice 1 por 1, hasta el 33 ¿que pasa? que mi ordenador no tiene mucha capacidad, y crear 33 proyectos, es muy grande, entonces hice todos yo primero hasta el 33 y si me salian todos pues hice un copy paste de esa página(Algunos me salieron con el mismo código pero otros me salieron con mi forma de pensar, es decir con diferentes códigos pero con el mismo resultado)

Pero que vamos, efectivamente hice TODOS

Gracias por tu consejo

Por cierto encontré este libro en ingles y bueno me gustaría decirte los temas que tiene haber si me puede interesar, echale un vistazo porfavor amigo.

Capítulo 1: C# NET Runtime y el bibliotecas
Capítulo 2: C# QuickStart y desarrollando en C#
Chapter 3: Classes
Capítulo 4: Las clases Base y herencia
Capítulo 5: Excepción manejo
Capítulo 6: Accesibilidad miembro y sobrecarga 47
Capítulo 7: Otros detalles de clase 57
Capítulo 8: Estructuras (tipos de valor)
Chapter 9: Interfaces
Capítulo 10: Versiones y alias
Capítulo 11: Declaraciones y flujo de ejecución
Capítulo 12: Scoping Variable y asignación de Deınite
Capítulo 13: Operadores y expresiones
Chapter 14: Conversions
Chapter 15: Arrays
Chapter 16: Propiedades

Capítulo 21: Atributos
■ Capítulo 22: Los delegados, los métodos anónimos, y Lambdas
■ Capítulo 23: Eventos
■ Capítulo 24: Dinámica Mecanografía
■ Capítulo 25: Las conversiones definidas por el usuario
■ Capítulo 26: Sobrecarga de operadores
■ Capítulo 27: Tipos anulables
■ Capítulo 28: LINQ to Objects
■ Capítulo 29: LINQ to XML
■ Capítulo 30: LINQ to SQL
■ Capítulo 31: Otros Detalles Idioma
■ Capítulo 32: Hacer amistad con .NET Framework
■ Capítulo 33: System.Array y la Colección de Clases
■ Capítulo 34: Rosca
■ Capítulo 35: asíncrono y Programación Paralela
■ Capítulo 36: La ejecución en tiempo de generación de código
■ Capítulo 37: Interop.
■ Capítulo 38: .NET Base Class Library Información general
■ Capítulo 39: Más profundo en C #
■ Capítulo 40: Técnicas de registro y depuración
■ Capítulo 41: IDEs y utilidades

Creo que es pedazo de libro, ya me diras es de c# 5.0
Y me encanta tu consejo de veras

72
Aquí los que no me dejaba poner por limitacion de caracteres >:(

1) Ingresar 5 números y mostrar su promedio

Código:

Código: [Seleccionar]
using System;

namespace Ejercicios 
{
    class Ejercicio1
   
    {
        static void Main()
        {
            int i=0;
            float num,acu=0;

            while (i < 5)
            {
                Console.Write("Ingrese {0}º número:", i + 1);
                num = float.Parse(Console.ReadLine());
                acu += num;
                i++;
            }
            Console.Write("El promedio de los 5 números es {0}", acu / 5);
            Console.Read();
        }

    }
}

2) Ingresar un número y mostrar el cuadrado del mismo.El número debe ser mayor que cero, en caso de error que aparezca el mensaje "ERROR. Reingresar numero"

Código:

Código: [Seleccionar]
using System;

namespace Ejercicios // <--- en otros ejercicios me olvide de ponerlo, pero igualmente por el momento no son necesarios.
{
    class Ejercicio2
    {
        static void Main()
        {
            float num;

            Console.Write("Ingrese un número:");
            num = float.Parse(Console.ReadLine());

            while (num < 1)
            {
                Console.Write("ERROR.Reingrese número:");
                num = float.Parse(Console.ReadLine());
            }
             
            Console.Write("El cuadrado de {0} es {1}",num, num*num);
            Console.Read();
        }

    }
}

3) De 10 números ingresados indicar cuantos son mayores a cero y cuantos son menores a cero.

Código:

Código: [Seleccionar]
using System;

class Ejercicio3
{
    static void Main()
    {
        float numero;
        uint cont = 0, menor = 0, mayor = 0;

        while (cont < 10)
        {
            Console.Write("Ingrese número:");
            numero = float.Parse(Console.ReadLine());

            if (numero > 0)
                mayor++;
            if (numero < 0)
                menor++;

            cont++;
        }

        Console.WriteLine("De 10 números son ...\nMenores a 0  = {0} y mayores a 0 = {1}", menor, mayor);
        Console.ReadLine();
    }
}

4) Diseñar un algoritmo que calcule la longitud de la circunferencia y el área del círculo de radio dado.

Código:

Código: [Seleccionar]
using System;

class Ejercicio
{
    static void Main()
    {
        float radio;
 
        Console.Write("Ingrese radio:");
        radio = float.Parse(Console.ReadLine());

        Console.WriteLine("El perimetro del circulo es {0}",3.1416 * ( radio * 2));
        Console.Write("El area del circulo es {0}",3.1416 * radio * radio);
        Console.ReadLine();
    }

}


5) Diseñar un algoritmo que calcule la superficie de un triángulo a partir del ingreso de su base y altura y muestre el resultado

Código:

Código: [Seleccionar]
using System;

class Ejercicio
{
    static void Main()
    {
        float bas,alt;

        Console.Write("Ingrese base:");
        bas = float.Parse(Console.ReadLine());
        Console.Write("Ingrese altura:");
        alt = float.Parse(Console.ReadLine());

        Console.Write("El area del triangulo es {0}",(bas*alt)/2);
        Console.ReadLine();
    }

}

6) Ingresar un número e indicar si es positivo o negativo

Código:

Código: [Seleccionar]
using System;

class ejercicio
{
    static void Main()
    {
        float num;

        Console.Write("Ingrese número:");
        num = float.Parse(Console.ReadLine());

        if (num == 0)
            Console.Write("El {0} no es negativo ni positivo es neutro", num);
       
        if (num > 0)
            Console.Write("El {0} es positivo", num);
        if (num < 0)
            Console.Write("El {0} es negativo", num);

        Console.Read();
    }
}

7) Ingresar un número y mostrar si es par o impar

Código:

Código: [Seleccionar]
using System;

class ejercicio
{

    static void Main()
    {

        float num;

        Console.Write("Ingrese número:");
        num = float.Parse(Console.ReadLine());

        while(num == 0)
        {
            Console.Write("Reingrese número:");
            num = float.Parse(Console.ReadLine());
        }

        if(num%2==0)
            Console.Write("El {0} es par",num);
        else
            Console.Write("El {0} es impar",num);

        Console.Read();

    }
}

8 ) Equivalencia de Grados Celsius con Grados Fahrenheit

Código:

Código: [Seleccionar]
using System;

class ejercicio
{
    static void Main()
    {
        float celsius;

        Console.Write("Ingrese Grº Celsius:");
        celsius = float.Parse(Console.ReadLine());

        Console.Write("{0} Grº Celsius equivale a {1} Grº Fahrenheit", celsius, celsius * 2.12);
        Console.Read();
    }
}


9) Equivalencia de centimetros con pies y pulgadas

Código:

Código: [Seleccionar]
using System;

class ejercicio
{
    static void Main()
    {
         float cms;

         Console.Write("Ingrese centimetros:");
         cms = float.Parse(Console.ReadLine());

         Console.Write("{0} cenimetros es = {1} pies = {2} pulgadas",cms,0.030003 * cms,0.0336034 * cms);
         Console.Read();
    }
}

10) Ingresar una frase no mas de 20 caracteres y mostrar cuantas vocales tiene.

Código:

Código: [Seleccionar]
using System;

class ejercicio
{
    static void Main()
    {
        string letra;
        uint a =0, e =0, i =0, o =0, u = 0;
       
        Console.Write("INGRESE UNA FRASE:");
        letra = Console.ReadLine();
        for(int x = 0;x<20;x++)
        { 
            if (letra[x] == 'a')
                a++;
            if (letra[x] == 'e')
                e++;
            if (letra[x] == 'i')
                i++;
            if (letra[x] == 'o')
                o++;
            if (letra[x] == 'u')
                u++;
        }
        Console.WriteLine("a = {0}, e = {1}, i = {2}, o = {3}, u = {4}",a,e,i,o,u);
        Console.Read();
    }
}

11) Mostrar en pantalla la opción que se eligio, teniendo en cuenta los dias de la semana y pregutnar si desea continuar.

Código:

Código: [Seleccionar]
using System;

class ejercicio
{
    static void Main()
    {

        string opcion , seguir;

        do
        {
           
            Console.WriteLine("\nDias de la semana...\n\n1.Lunes\n2.Martes\n3.Miercoles\n4.Jueves\n5.Viernes\n6.Sabado\n7.Domingo\n\n");
            Console.Write("Ingrese opción:");
            opcion = Console.ReadLine();

            if (opcion == "1")
                Console.Write("--------------- |Lunes\n");
            if (opcion == "2")
                Console.Write("--------------- |Martes\n");
            if (opcion == "3")
                Console.Write("--------------- |Miercoles\n");
            if (opcion == "4")
                Console.Write("--------------- |Jueves\n");
            if (opcion == "5")
                Console.Write("--------------- |Viernes\n");
            if (opcion == "6")
                Console.Write("--------------- |Sabado\n");
            if (opcion == "7")
                Console.Write("--------------- |Domingo\n");

            Console.Write("\nDesea continuar s/n ?");
            seguir = Console.ReadLine();
       
            while (seguir != "s" && seguir != "n")
            {
                Console.Write("\nDesea continuar s/n ?");
                seguir = Console.ReadLine();
            }
        } while (seguir == "s");
    }
}


73
Bueno pues aquí tengo 33 ejercicios resueltos en c#, cualquier duda me dicen por este Tema.  ;D

Creo que ya podría darle un poco a diseño grafico no?  :P

Nota: Solo se permiten 20.000 caracteres... pongo los otros mas abajo de este post

12) Mostrar los nùmeros impares entre el 0 y el 100
13) Mostrar los números pares entre el 0 y el 100
14) Mostrar los números del 0 al 100
15) Mostrar los números del 100 al 0
16) Mostrar los multiplos de 3 del 0 al 100
17) Mostrar los multiplos de 3 y de 2 entre el 0 y 100

Código:

Código: [Seleccionar]
using System;

class ejercicio
{
    static void Main()
    {
        int i, impar = 0, par = 0;

        for (i = 0; i < 100; i++)
        {
            if (i % 2 != 0)
            {
                Console.Write("{0}|", i);
                impar++;
            }
        }

        Console.Write("\n\n");
        // EJERCICIO 13 ////////////////////////////////////
        for (i = 1; i < 100; i++)
        {
            if (i % 2 == 0)
            {
                Console.Write("{0}|", i);
                par++;
            }
        }
        Console.Write("\n\nDel 0 al 100 hay {0} números pares y {1} impares\n\n", par, impar);
        // EJERCICIO 14 /////////////////////////////////////
        for(i= 0;i<101;i++)
               Console.Write("{0}|",i);
       
        Console.Write("\n\n");
        // EJERCICIO 15 ///////////////////////////////////////
        for (i = 100; i > -1; i--)
            Console.Write("{0}|", i);

        Console.Write("\n\n");
        // EJERCICIO 16 ////////////////////////////////////////
        for(i = 0; i < 100; i++)
            if(i % 3 == 0)
                Console.Write("{0}|",i);

        Console.Write("\n\n");
        // EJERCICIO 17 /////////////////////////////////////////
        for (i = 0; i < 100; i++)
            if (i % 3 == 0 || i % 2 == 0)
                Console.Write("{0}|", i);

        Console.Read();

    }
}

18) Ingresar un número y mostrar la suma de los números que lo anteceden.
19) Mostrar los números del 1 hasta el número ingresado.
20) Contar los multiplos de 3 desde la unidad hasta un num que ingresamos
21) Mostrar los números primos entre el 0 y 100.

Código:

Código: [Seleccionar]
using System;

class ejercicio
{
    static void Main()
    {
        int num, suma = 0, n, divisor,cont = 0;

        Console.Write("Número:");
        num = Int32.Parse(Console.ReadLine());

        for (int i = 0; i < num; i++)
            suma = suma + i;

        Console.Write("La suma de los números que anteceden a el {0} es {1}\n\n", num, suma);
        // EJERCICIO 19 ///////////////////////////////////////////////////////////////////////
        for (int i = 1; i < num + 1; i++)
            Console.Write("{0}|", i);
// EJERCICIO 20 //////////////////////////////////////////////////////
       for(int i = 0; i < num;i++)
             if(i % 3 ==0)
                  cont++;

      Console.WriteLine(Entre el 1 y el {0} hay {1} multiplos de 3",num,cont);
//EJERCICIO21 //////////////////////////////////////////////////////////////////////
        Console.Write("\n\nNúmeros primos del 2 al 100\n\n");
        for (n = 2; n <= 100; n++)
        {
            for (divisor = 2; n%divisor != 0; divisor++)
                if (divisor == n)
                 Console.Write("{0}|",n);
           
        }
        Console.ReadKey();
    }
}

22) Ingresar 10 números sumar los + y multiplicar los - .
23) Ingresar dos números e intercambiarlos .
24) Ingresar un número y mostrar su cuadrado y cubo.
25) Ingresar x cant de pesos y mostrar la cantidad de personas que pesan + de 80 y - de 80.

Código:

Código: [Seleccionar]
using System;

class ejercicio
{
    static void Main()
    {
        float num, may0=0, men0=1,x=0;
        int cont = 0;
        float num1, num2, auxi;

        while (cont < 10)
        {
            do
            {
                Console.Write("Número:");
                num = float.Parse(Console.ReadLine());

            } while (num == 0);

            if (num > 0)
                may0 = may0 + num;
            if (num < 0)
                men0 = men0 * num;
       
            cont++;
        }
        if (men0 == 1)// En caso de que se ingrese todos +
            men0 = 0;
        Console.Write("La suma de los números + es {0} y el producto de los - es {1}", may0, men0);
        // EJERCICIO 23 /////////////////////////////////////////////////////////////////////////////
        Console.Write("\n\nNúmero 1:");
        num1 = float.Parse(Console.ReadLine());

        Console.Write("Número 2:");
        num2= float.Parse(Console.ReadLine());

        auxi = num1;
        num1 = num2;
        num2 = auxi;

        Console.Write("El número 1 ahora es {0} y el número 2 es {1}\n\n", num1, num2);
        // EJERCICIO 24 ////////////////////////////////////////////////////////////////////////////
        Console.Write("Número:");
        num1 = float.Parse(Console.ReadLine());

        Console.Write("El cuadrado de {0} es {1} y de su cubo es {2}\n", num1, num1 * num1, num1 * num1 * num1);
        // EJERCICIO 25 ///////////////////////////////////////////////////////////////////////////////////////
        cont = 0;
        men0 = 0;
        may0 = 0;
        do
        {       
            Console.Write("\nIngrese peso:");
            num1 = float.Parse(Console.ReadLine());

            if (num1 > 0)
            {
                if (num1 <= 80)
                    men0 = men0 + 1;
                if (num1 > 80)
                    may0 = may0 + 1;

                cont++;
            }
            else
                Console.Write("\nDebe ingresar mayor a 0\n");

            Console.Write("\nDesea continuar s/n ?");// VALIDAR
        } while (Console.ReadLine() == "s");
        Console.Write("\n\nDe {0} persona/s {1} pesan menos o igual a 80 y {2} pesan mas de 80",cont,men0,may0);
        Console.Read();

    }
}

26) Ingresar 3 datos y decir que clase de triangulo es. Para formar un triangulo hay que tener en cuenta que la suma de sus dos las inferiores
tiene que ser mayor a el lado superior

Código:

Código: [Seleccionar]
using System;

namespace ejercicio
{
    class ejercicio25
    {
        static void Main()
        {
            float[] lado = new float[3];
            float mayor = 0, sumar = 0;
            int i,j,auxi=0,flag=0;

            for (i = 0; i < 3; i++)
            {
                Console.Write("Lado {0}:",i+1);
                lado[i] = float.Parse(Console.ReadLine());
           
                if(lado[i] > mayor)
                {
                    mayor = lado[i];
                    auxi = i;
                }
            }

            for(i=0;i<3;i++)
                if(auxi!= i)
                    sumar+= lado[i];

            if (mayor < sumar)
            {
                Console.Write("Es un triangulo");

                for (i = 0; i < 2; i++)
                    for (j = i + 1; j < 3; j++)
                        if (lado[i] == lado[j])
                            flag++;
                if (flag == 3)
                    Console.Write(" ---> Equilatero");
                else
                {
                    flag = 0;
                    for (i = 0; i < 2; i++)
                        for (j = i + 1; j < 3; j++)
                            if (lado[i] != lado[j])
                                flag++;
                    if (flag == 3)
                        Console.Write(" ---> Escaleno");
                    else
                        Console.Write(" ---> Isosceles");
                }
            }
            else
            {
                Console.Write("No es un triangulo");
            }
            Console.Read();
        }
    }
}

27)Dados 3 números donde el primero y el último son límites de un intervalo, indicar si el tercero pertenece a dicho intervalo

Código:

Código: [Seleccionar]
using System;

class ejercicio26
{
        static void Main()
        {
            float[] numero = new float[3];
            float mayor = 0, menor = 0;
            int i, flag = 0,noingreso = 0;

            for (i = 0; i < 3; i++)
            {
                Console.Write("{0}º número:", i + 1);
                numero[i] = float.Parse(Console.ReadLine());

                if (flag == 0)
                {
                    mayor = numero[i];
                    menor = numero[i];
                    flag = 1;
                }
                else
                {
                    if (numero[i] > mayor)
                        mayor = numero[i];
                    if (numero[i] < menor)
                        menor = numero[i];
                }
            }

            for (i = 0; i < 3; i++)
            {
                if (numero[i] != mayor && numero[i] != menor)
                {
                    Console.Write("\nEl número {0} esta entre el {1} y el {2}", numero[i], menor, mayor);
                    noingreso = 1;
                }
            }
                    if (noingreso == 0)
                    Console.Write("\nError.Hay numeros repetidos");
           
            Console.Read();
        }
}

28)Por teclado se ingresa el valor hora de un empleado.Posteriormente se ingresa el nombre del empleado, la antiguedad y la cantidad de horas trabajadas en el mes. Se pide calcular el importe a cobrar teniendo en cuenta que al total que resuelta de multiplicar el valor hora por la cantidad de horas trabajadas, hay que sumarle la cantidad de años trabajados multiplicados por $30, y al total de todas esas operaciones restarle el 13% en concepto de descuentos. Imprimir el recibo correspondiente con el nombre, la antiguedad, el valor hora, el total a cobrar en bruto, el total de descuentos y el valor neto a cobrar.

Código:

Código: [Seleccionar]
using System;

class ejercicio27
{
        static void Main()
        {
            float valorhr, hrstrab, antigue;
            string nombre;

            Console.Write("Nombre:");
            nombre = Console.ReadLine();

            Console.Write("Valor hora:");
            valorhr = float.Parse(Console.ReadLine());

            Console.Write("Antiguedad:");
            antigue = float.Parse(Console.ReadLine());

            Console.Write("Horas trabajadas:");
            hrstrab = float.Parse(Console.ReadLine());

            Console.Clear();
            Console.WriteLine("Nombre: {0}", nombre);
            Console.WriteLine("Antiguedad: {0}", antigue);
            Console.WriteLine("Valor hora: {0}", valorhr);
            Console.WriteLine("Total a cobrar: {0}", valorhr * hrstrab + antigue * 30);// TOTAL
            Console.WriteLine("Total del descuento: {0}", (valorhr * hrstrab + antigue * 30) * 0.13);// TOTAL * 0,13
            Console.WriteLine("Total con descuento: {0}", ((valorhr * hrstrab + antigue * 30) - (valorhr * hrstrab + antigue * 30) * 0.13));// TOTAL - DESC
            Console.Read();
        }
}

29)Realizar la tabla de multiplicar de un número entre 0 y 10 de forma que se visualice de la siguiente forma: 4x1=4

Código:

Código: [Seleccionar]
using System;

class ejercicio28
{
    static void Main()
    {
        int num;

        do
        {
            Console.Write("Ing. un numero entre 0 y 10:");
            num = Int32.Parse(Console.ReadLine());

        }while (num < 1 || num > 9);
         
        for (int i = 1; i < 10; i++)
            Console.WriteLine("{0} x {1} = {2}", num, i, num * i);

        Console.Read();
    }
}


30)Ingresar 2 números, imprima los números naturales que hay entre ambos empezando por el más pequeño, contar cuántos números hay y cuántos de ellos son pares.

Código:


Código: [Seleccionar]
using System;

namespace ejercicio
{
    class ejercicio29
    {
        static void Main()
        {
            float num1, num2, menor, mayor;
            int i, cont = 0, contpar = 0;

            do
            {
                Console.Write("Número 1:");
                num1 = float.Parse(Console.ReadLine());

                Console.Write("Número 2:");
                num2 = float.Parse(Console.ReadLine());
            } while (num1 == num2);

            if (num1 < num2)
            {
                menor = num1;
                mayor = num2;
            }
            else
            {
                menor = num2;
                mayor = num1;
            }

            for (i = (int)menor + 1; i < mayor; i++)
            {
                Console.Write("{0}|", i);
                cont++;
                if (i % 2 == 0)
                    contpar++;
            }
            if(num1 == num2-1 || num2 == num1-1)
                Console.Write("\n\nNo hay numeros enteros entre {0} y el {1}",num1,num2);
            else
                Console.Write("\n\nEntre {0} y {1} hay {2} números de los cuales {3} son pares", menor, mayor, cont, contpar);

            Console.Read();
        }
    }
}

31) Se registran 10 empleados de una empresa Número de legajo, sueldo, sexo(1=femenino y 2=masculino).Mostrar cuantas mujeres ganan más de $500 pesos y cuantos hombres ganan menos de $400.

Código:

Código: [Seleccionar]
using System;

namespace ejercicio
{
    class ejercicio30
    {
        static void Main()
        {
            string[] legajo = new string[10];
            float[] sueldo = new float[10];
            int[] op = new int[10];
            int i;


            for (i = 0; i < 10; i++)
            {
                Console.WriteLine("{0}º persona", i + 1);
                Console.Write("Sueldo:");
                sueldo[i] = float.Parse(Console.ReadLine());
                Console.Write("Legajo:");
                legajo[i] = Console.ReadLine();
                Console.Write("1 = Femenino, 2 = Masculino:");
                op[i] = int.Parse(Console.ReadLine());
            }
            Console.WriteLine();
            for (i = 0; i < 10; i++)
            {
                if (op[i] == 1 && sueldo[i] > 500 || op[i] == 2 && sueldo[i] < 400)
                    Console.WriteLine("Legajo: {0}|Sexo: {1}|Sueldo: {2}", legajo[i], op[i], sueldo[i]);
            }
            Console.Read();
        }
    }
}
32)Se ingresa por teclado la cantidad de agua caida, en mílimetros día a día durante un mes.Se pide determinar el día de mayor lluvia, el de menor y el promedio.

Código:

Código: [Seleccionar]
using System;


namespace ejercicio
{
    class ejercicio31
    {
        static void Main()
        {
            int flag = 0,i = 0, mayordia = 0, menordia = 0, x = 30;
            int[] dia = new int[31];
            float menor = 0, mayor = 0, promedio = 0,contagua = 0;
            float[] agua = new float[x + 1];
           

            do
            {
                Console.Write("Ingrese dia:");
                dia[i] = int.Parse(Console.ReadLine());
               
                Console.Write("Ingrese agua caida:");
                agua[i] = float.Parse(Console.ReadLine());

                if (flag == 0)
                {
                    mayordia = dia[i];
                    menordia = dia[i];
                    mayor = agua[i];
                    menor = agua[i];
                    flag = 1;
                }
                else
                {
                    if (agua[i] > mayor)
                    {
                        mayordia = dia[i];
                        mayor = agua[i];
                    }
                    if (agua[i] < menor)
                    {
                        menordia = dia[i];
                        menor = agua[i];
                    }
                }

                contagua+= agua[i];

                if(i == 29)
                {    Console.Write("El mes tiene 31 dias s/n ?");
                    if(Console.ReadLine() == "s")
                        x = x + 1;
                }
                i++;
            }while(i<x);

            promedio = contagua / i;

            if (menor == mayor)
            {
                Console.Write("\nNo hubo mayor y menor dia de agua caida, fue igual para todos los dias {0}", menor);
            }
            else
            {
                Console.WriteLine("\nLa mayor cantidad de agua caida fue de {0} milímetros el/los dia/s ...", mayor);
                for (i = 0; i < x; i++)
                    if (agua[i] == mayor)
                        Console.Write("\nDia {0}", dia[i]);

                Console.WriteLine("\n\nLa menor cantidad de agua caida fue de {0} milímetros el/los dia/s ...", menor);
                for (i = 0; i < x; i++)
                    if (agua[i] == menor)
                        Console.Write("\nDia {0}", dia[i]);
            }
            Console.WriteLine("\n\nEl promedio de agua caida en {0} dias es {1}", x, promedio);
            Console.Read();
        }
    }
}

33) Hacer el algoritmo que imprima el mayor y el menor de una serie de 5 números que vamos introduciendo por teclado.

Código:

Código: [Seleccionar]
using System;

namespace ejercicio
{
    class ejercicio32
    {
        static void Main()
        {
            float[] num = new float[5];
            float mayor = 0, menor = 0;
            int flag = 0;

            for (int i = 0; i < 5; i++)
            {
                Console.Write("Ingrese {0}º número:", i + 1);
                num[i] = float.Parse(Console.ReadLine());

                if (flag == 0)
                {
                    mayor = num[i];
                    menor = num[i];
                    flag = 1;
                }
                else
                {
                    if (num[i] > mayor)
                        mayor = num[i];
                    if (num[i] < menor)
                        menor = num[i];
                }
            }
            if (mayor == menor)
                Console.Write("\nLos números son todos iguales\n");
            else
                Console.Write("\nEl menor de los 5 números es el {0} y el mayor es el {1}", menor, mayor);

            Console.Read();
        }
    }
}

Saludos, y ya saben cualquier duda por aquí

74
Hola, sí se nota que estás mejorando, pero de lo que no estoy seguro es de si estás aprendiendo con buenos materiales. ¿Estás siguiendo un libro o una página web, o es una asignatura...?

El código no se ve excesivamente largo, no tienes que obsesionarte por hacerlo todo muy corto (aunque tampoco debes hacerlo más largo de lo necesario).

Has escrito while (true), esto en general no es una sentencia adecuada excepto en casos muy concretos. Puedes leer sobre esto en https://www.aprenderaprogramar.com/foros/index.php?topic=1022.msg5803#msg5803

Saludos!!

Estoy siguiendo este curso:
https://www.video2brain.com/es/cursos/c

y luego cuando pase ese curso, seguire con los videos de Jesus Conde, no se si lo conoces, es de youtube

75
Ya terminé mi código, tengo 2 cosas que preguntar

1. ¿notáis que estoy mejorando?
2.  la otra duda que tengo, es que si puedo hacer esto mas CORTO,  es decir  podría usar 2 metodos y no 1? o por ejemplo algun tipo de consejo para hacerlo mas corto(si es que existe)

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ejercicioMetodos
{
    class Program
    {
        static void Main(string[] args)
        {
 
            numeroIngresar();
            Console.ReadKey();
 
 
        }
 
        static void numeroIngresar()
        {
            int cont = 0;
            int e = 0;
 
            Console.WriteLine("Cuantos numeros quieres ingresar: ");
            int numerosIngresar = int.Parse(Console.ReadLine());
            int[] numeroArray = new int[numerosIngresar];
            Random rnd1 = new Random();
            int ordenar = numerosIngresar;
            for (int i = 0; i < numerosIngresar; i++)
            {
                numeroArray[i] = rnd1.Next(5000);
 
            }
            for (int i = 0; i < numerosIngresar; i++)
            {
                if (i == numerosIngresar - 1)
                {
                    int contabilizar = i;
                    int x = 0;
                    double max = 9999999999999999999;
 
                    for (int j = contabilizar; j > 0; j--)
                    {
 
 
 
                        while (true )
                        {
                            if (j == 0)
                            {
                                j = i;
 
                            }
                            if (numeroArray[j] > numeroArray[j - 1])
                            {
                                int auxiliar = numeroArray[j];
                                numeroArray[j] = numeroArray[j - 1];
                                numeroArray[j - 1] = auxiliar;
                            }
 
 
                             x = x + 1;
                           
                            if (x == 1000090)
                            {
                                break;
                            }
 
                            j--;
 
                        }
 
 
 
 
                        break;
 
 
 
                    }
 
 
                }
 
 
            }
 
            for (int j = 0; j < numerosIngresar; j++)
            {
                Console.WriteLine(numeroArray[j]);
            }
        }
 
 
 
    }
}

76
Bueno resulta que es super extraño, quiero decir que no esta terminado 100% el código pero debe de mostrar unos ciertos valores correctamente.

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ejercicioMetodos
{
    class Program
    {
        static void Main(string[] args)
        {
 
            numeroIngresar();
            Console.ReadKey();
           
             
        }
 
        static void numeroIngresar()
        {
            int cont = 0;
            int e = 0;
            Console.WriteLine("Cuantos numeros quieres ingresar: ");
            int numerosIngresar = int.Parse(Console.ReadLine());
            int[] numeroArray = new int[numerosIngresar];
            for (int i = 0; i < numerosIngresar; i++)
            {
 
                Random rnd1 = new Random();
                numeroArray[i] =rnd1.Next(5000) ;
 
            }
                while (e < numerosIngresar)
                {
                   if(e+1 >= numerosIngresar)
                   {
                       break;
                   }
                   if(numeroArray[e]<numeroArray[e+1])
                   {
                       int auxiliar = numeroArray[e];
                       numeroArray[e] = numeroArray[e + 1];
                       numeroArray[e + 1] = auxiliar;
                   }
                   cont++;
                    if(cont == numerosIngresar)
                    {
                        break;
                    }
                    e++;
                }
            for(int j= 0 ; j < numerosIngresar;j++)
            {
            Console.WriteLine(numeroArray[j]);
            }
        }
         
    }
}

Explico lo que pasa, resulta que en estas líneas inicializo una NUEVA instancia del objeto Random:


Código: [Seleccionar]
for (int i = 0; i < numerosIngresar; i++)
            {
 
                Random rnd1 = new Random();
                numeroArray[i] =rnd1.Next(5000) ;
 
            }


Aparentemente no existe un fallo de sintaxis... pero claro cuando inicio la consola y le digo que genere 3 numeros ALEATORIOS pues sale 3 numeros igualitos..

Entonces estaba analizando el código y todo esta correctamente, entonces cogí y ejecute el DEPURADOR, y bueno la sorpresa es que cuando lo hago con el depurador, resulta que SI SALEN NUMEROS ALEATORIOS...

Entonces busco la ayuda de una mente experta en programación y que me diga por que pasa eso, me estoy volviendo loco  :bye:

78
Bueno pues eso, necesito ejercicios para aprender a usar métodos si viene con la solución mejor, pero si no no pasa nada...

Saludos y gracias de veras

79
Gracias por el consejo, para la próxima vez lo hago como dices

80
Ya se que es mejor que el array cree los valores de modo Random, pero prefiero ponerlos yo con un limite de 5 variables metidas en un array.

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace mayoramenor
{
    class Program
    {
        static void Main(string[] args)
        {
            // mayor a menor:

            int[] ordenarNumeros = new int[5] { 451, 789, 425, 852, 412 };

            for (int i = 4; i < 5; i--)
            {
         
                if(i <= 0)
                {
                    for (int e = 0; e < 5; e++)
                    {
                        for (int j = 0; j < 5;j++ )
                        {
                            if(j == 4)
                            {
                                for (int u = 0; u < 5; u++)
                                {
                                    Console.WriteLine(ordenarNumeros[u]);
                                }
                                return;
                            }
                              if(ordenarNumeros[j] < ordenarNumeros[j+1])
                              {
                                  int auxiliarTotal = ordenarNumeros[j];
                                  ordenarNumeros[j] = ordenarNumeros[j + 1];
                                  ordenarNumeros[j + 1] = auxiliarTotal;
                              }
                        }
                       
                    }
                   
                }
                if (ordenarNumeros[i] > ordenarNumeros[i - 1]) //Si posicion X es mayor que posicion X-1
                {
                   
                    int auxiliar = ordenarNumeros[i - 1];
                    ordenarNumeros[i - 1] = ordenarNumeros[i];
                    ordenarNumeros[i] = auxiliar;
                }

            }
        }
    }
}


Ahora si funciona 100% bien, lo hice con el método burbuja y esta fue mi lógica: Necesitamos Mínimo 2 for y 2 IF, pero se complica las cosas y necesitamos resolver los problemas

Todo esto dentro de un for:

Si posición 4 es mayor que posicion 4-1:
- Crear Variable que guarde posicion 3
- Posición 3 = posicion 4
- Posición 4 = posicion 3

Dentro de otro for:

Si posición 0 es menor que posicion 1
crear variable posicion 0.
-posicion 0 = posicion 1
-posicion 1 = posicion 0

Páginas: 1 2 3 [4] 5 6

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".