Матрица Тёплица на Java
Матрица Тёплица (диагонально-постоянная матрица) - это такая матрица, в которой на всех диагоналях, параллельных главной, расположены одинаковые элементы. В коде ниже я покажу вам, как создать (заполнить) такую матрицу, вывести на экран, а также проверить, является ли матрица матрицей Тёплица.
public class MyClass {
//метод проверки
public static boolean isMatrix(int[][] mat) {
int m=mat.length;
int n=mat[0].length;
for(int i=0; i<m; i++){
for(int j=0; j<n; j++){
if(i+1<m && j+1<n && mat[i][j]!=mat[i+1][j+1]){
return false;
}
}
}
return true;
}
public static void main(String args[]) {
//параметры матрицы
int size = 10;
int a1[][] = new int[size][size];
int data[] = new int[size];
data[0] = 8;
data[1] = 2;
data[2] = 4;
data[3] = 9;
//заполнение матрицы
for(int i=4; i<size; i++){
data[i] = 0;
}
for(int i=0; i<size; i++)
{
for(int j=0; j<size; j++) {
if(j>i){
a1[i][j] = data[j-i];
}else if(j==i){
a1[i][j] = data[0];
}else{
a1[i][j] = data[i-j];
}
}
}
//вывод матрицы на экран
for(int i=0; i<size; i++){
for(int j=0; j<size; j++) {
System.out.print(a1[i][j]+" ");
}
System.out.println("");
}
System.out.println("");
// Готовим консоль к выводу кириллицы
String str1 = "Это Матрица Тёплица";
String str2 = "Увы, это не Матрица Тёплица";
try{
System.setOut(new java.io.PrintStream(System.out, true, "UTF-8"));
}
catch (Exception ex) {}
//проверка
if (isMatrix(a1)) System.out.println(str1);
else System.out.println(str2);
}
}
И вот что у нас получается:
Есть вопросы? Пишите и я с удовольствием за небольшую плату помогу вам решить онлайн задачи по Java и не только.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Программы на заказ
Отзывы
Контакты