Сортировка оценки и имени учащихся, вводимых в C # - PullRequest
0 голосов
/ 30 октября 2018

Это мой код:

Я также хочу получить число из ввода числа для числа имен, а в конце сортировки - по номеру и имени числа, введенного в вывод.

Мне запрещено пользоваться классами.

    int[] arr1 = new int[10];
    string[] name = new string[10];
    int n, i, j, tmp;


    Console.Write("\n\nSort elements of array in ascending order :\n");
    Console.Write("----------------------------------------------\n");

    Console.Write("Input the size of array : ");
    n = Convert.ToInt32(Console.ReadLine());

    Console.Write("Input {0} elements in the array :\n", n);
    for (i = 0; i < n; i++)
    {
        Console.WriteLine("Enter name {0}", i);
        name[i] = Console.ReadLine();
        Console.Write("element - {0} : ", i);
        arr1[i] = Convert.ToInt32(Console.ReadLine());
    }

    for (i = 0; i < n; i++)
    {
        for (j = i + 1; j < n; j++)
        {
            if (arr1[j] < arr1[i])
            {
                tmp = arr1[i];
                arr1[i] = arr1[j];
                arr1[j] = tmp;


            }
        }
    }
    Console.Write("\nElements of array in sorted ascending order:\n");
    for (i = 0; i < n; i++)
    {
        Console.Write("{0}, {1}  ", arr1[i],name[i]);
    }
    Console.Write("\n\n");
    Console.ReadLine();

1 Ответ

0 голосов
/ 30 октября 2018

если вы можете использовать тип списка, вы можете попробовать этот код:

        List<dynamic> lst= new List<dynamic>();
        int n;


        Console.Write ( "\n\nSort elements of array in ascending order :\n" );
        Console.Write ( "----------------------------------------------\n" );

        Console.Write ( "Input the size of array : " );
        n = Convert.ToInt32 ( Console.ReadLine ( ) );

        Console.Write ( "Input {0} elements in the array :\n", n );
        for (var  i = 0; i < n; i++ )
        {
            Console.WriteLine ( "Enter name {0}", i );
            var name = Console.ReadLine ( );
            Console.Write ( "element - {0} : ", i );
            var elem = Convert.ToInt32 ( Console.ReadLine ( ) );
            lst.Add ( new { name = name, elem = elem } );
        }
        Console.Write ( "\nElements of array in sorted ascending order:\n" );

        lst.OrderBy ( t => t.elem ).ToList ( ).ForEach ( y => {
            Console.Write ( "{0}, {1}  ", y.elem, y.name );
        } );
        Console.Write ( "\n\n" );
        Console.ReadLine ( );
...