Java: Транспонированная матрица

Начал учить JAVA. Первая программа пусть будет транспонированная матрица. Мне код понятен, очень похоже на c/c++/c#.

Я модифицировал эту программу написанную на си

Транспонированная матрица — матрица, полученная из исходной матрицы  заменой строк на столбцы.

import java.io.*;
import java.util.Random;

public class Main 
{
	public static void main(String[] args) throws IOException
	{	

		BufferedReader bReader = new BufferedReader (new InputStreamReader(System.in));

		String str = bReader.readLine();
		int n = Integer.parseInt(str);
		int[][] a = new int[n][n];
		Random rand = new Random();

		for (int i = 0; i < n; i++)
		{
			for (int j = 0; j < n; j++)
			{
				a[i][j] = Math.abs(rand.nextInt() % 100);
				System.out.print(a[i][j] + " ");
			}
			System.out.print("\n");
		}		
		for(int i=0;i<n;i++) 
	    { 
	        for(int j=i;j<n;j++) 
	        {
	            int temp=a[j][i];
	            a[j][i]=a[i][j];
	            a[i][j]=temp;
	        }
	    }
		System.out.println("Транспонированная матрица:");
		for (int i = 0; i < n; i++)
	    {
	        for (int j = 0; j < n; j++)
	        {
	        	System.out.print(a[i][j] + " ");
	        }
	        System.out.print("\n");
	    }
	    System.in.read();
	}
}

А принцип тот же. Отличия в чтении с клавиатуры и вывод на консоль. Создается BufferedReader. При его помощи информация с консоли читается в строковую переменную, далее конвертируется в integer… Далее создается экземпляр класса Random для генерации псевдослучайных чисел (для заполнения матрицы)

А далее все в точности так же как в си (и в C#). Заполнение матрицы, потом перестановка элементов, потом снова вывод.

Запуск в Eclipse (Ubuntu)

И после переноса на Windows 8 как Jar-файл:

К сожалению на Windows кодировка сбита

Скачать Jar-файл

Добавить комментарий