Передача параметров в методы в Java и C# (Лабораторная работа № 3), страница 2

В листинге 2 представлена программа, в которой статический метод kolsum() определяет и возвращает количество цифр и сумму цифр натурального числа, полученного в качестве аргумента.

Для создания программы использовалась среда разработки MS Visual C# 2010 Express.

Создание проекта в MS Visual C# 2010 Express: Файл -> Создать проект -> Консольное приложение. Компиляция, сборка и выполнение проекта: Отладка -> Начать отладку (F5).

На рисунке 2 показан результат выполнения программы.

Листинг  2

using System;

namespace Primer

{

    class Program

    {

        static int kolsum(int n, out int s)

        {

            int k = 0; s = 0;

            while (n != 0)

            {

                s += n % 10;

                n /= 10; k++;

            }

            return k;

        }

        static void Main(string[] args)

        { int n, kol, sum;

          Console.Write("Введите натуральное число n: ");

          n = int.Parse(Console.ReadLine());

          kol = kolsum(n, out sum);

          Console.WriteLine("Количество цифр: " + kol);

          Console.WriteLine("Сумма цифр: " + sum);

          Console.Write("Press any key to continue . . . ");

          Console.ReadKey(true);

        }

    }

}

Рисунок 2 – Результат выполнения программы

Задание 2

Изменить программы, созданные на основе задания 2 и задания 4 лабораторной работы № 2. Ввод, обработку и вывод двумерного массива оформить в виде отдельных статических методов. Массив в эти методы передавать как параметр.

Пример 3

Имеется информация о баллах, полученных спортсменами-пятиборцами в каждом из пяти видов спорта. Общее число спортсменов равно N. Необходимо занести эту информацию в двумерный массив (в первую строку – информацию о баллах первого спортсмена, во вторую – второго и т. д.) и упорядочить строки полученной  матрицы по возрастанию общей суммы баллов, набранных каждым спортсменом.

В листинге 3 представлена программа для решения описанной задачи. Для создания программы использовалась среда разработки NetBeans IDE 8.0.

Создание проекта в NetBeans: Файл -> Создать проект -> Java -> Приложение Java.

Компиляция, сборка и выполнение проекта: Выполнить -> Запустить проект.

На рисунке 3 показан результат выполнения программы.

Листинг3

package primer1;

import java.util.Scanner;

public class Primer1 {

static int[][] input()

 { int n; int i, j;

   Scanner in = new Scanner(System.in);

   System.out.print("Укажите колличество стортсменов - пятиборцев: ");

    n = in.nextInt();

    System.out.println("Введите баллы каждого из " + n + " спортсменов - пятиборцев:");

    int[][] a = new int [n][5];

    for (i = 0; i < n; i++)

      for (j = 0; j < 5; j++)

         a[i][j] = in.nextInt();  

    return a;

  }      

static int[] summ(int[][] a)

{ int[] sum; int i, j;

   int n = a.length;

    sum = new int [n];

    for (i = 0;i < n;i++)

     { sum[i] = 0;

          for (j = 0;j < 5; j++)

        sum[i] += a[i][j];

      }   

     System.out.println();

     for (i = 0;i < n; i++)

       { for (j = 0;j < 5; j++)

                 System.out.print(a[i][j] + "  ");

          System.out.print("| " + sum[i]);

          System.out.println();

        }

    //Сортировка

    int buf_sum; int nmin, buf_a;

    for(i = 0;i < n-1; i++)

     { nmin = i;

            for(j = i+1;j < n; j++)

              if (sum[j] < sum[nmin])

              nmin = j;

            buf_sum = sum[i];

         sum[i] = sum[nmin]; sum[nmin] = buf_sum;

            for(j = 0;j < 5;j++)

             { buf_a = a[i][j];

               a[i][j] = a[nmin][j];

               a[nmin][j] = buf_a;

        }

     }

    return sum;

}

static void output(int[][] a, int[] sum)

{ int i, j; 

    System.out.println();

     for (i = 0;i < a.length; i++)

       { for (j = 0;j < 5; j++)

              System.out.print(a[i][j] + "  ");

         System.out.print("| " + sum[i]);

         System.out.println();

        }

}

 public static void main (String [] args)

 {

    int[][] a = input();

    int[] sum = summ(a);