Пример на с++ След Матрицы

след матрицы, найти след матрицы
Приветствую вас дорогие пользователи, сегодня я бы хотел рассмотреть следующее задание: найти сумму элементов главной диагонали матрицы. Согласно википедии эту сумму еще называют следом матрицы:

След матрицы — это сумма элементов главной диагонали матрицы

 

Перед тем, как мы перейдем к нахождению следа  матрицы нам необходимо:

1. Добавляем в наш проект все необходимые библиотеки, подключаем пространство имен std, а также основную функцию без которой не обойтись – функцию main():

2. В нашей программе пользователь будет определять размерность матрицы, поэтому необходимо позаботиться об удобном вводе строк и столбцов в командной строке( используем cout и cin)

3. Следующим этапом наших действий будет задание динамического массива, который собственно будет хранить элементы матрицы. Мы будем использовать динамический массив так, как не можем заранее предугадать, какую размерность матрицы определит пользователь.

4. Осталось только задать элементы матрицы и можно переходить к нахождению следа матрицы. Задавать элементы мы будем с помощью функции rand() и сразу же в том же цикле выводить их на экран.

5. Объявляем переменную sled_matrix которая будет отвечать за хранение суммы элементов главной диагонали.

След матрицы

Находим элементы с одинаковыми i и j и прибавляем их к переменной sled_matrix

Все. Осталось только очистить память, которая была выделена на динамический массив и отобразить в консоли значение переменной sled_matrix.

Результат выполнения программы:

след матрицы, пример на с++, нахождение следа матрицы

Программа нахождения следа матрицы

Скачать исходник данной программы вы можете по данной ссылке



Один комментарий

  1. Код на java

    import java.util.Scanner;
    public class Sled {
    public static void main (String args[]){
    Scanner scan = new Scanner(System.in);
    int i,j,x,y,Sum=0;
    System.out.println("Введите размерность массива");
    System.out.println("Количество строк");
    i=scan.nextInt();
    System.out.println("Количество столбцов");
    j=scan.nextInt();
    int [][]a = new int[i][j];
    System.out.println("Введите элементы матрицы");
    for(x=0;x<i;x++){
    for(y=0;y<j;y++){
    System.out.print("a["+x+"]["+y+"]=");
    a[x][y]=scan.nextInt();
    }
    }
    System.out.println("");
    for(x=0;x<i;x++){
    System.out.print("|");
    for(y=0;y<j;y++){
    System.out.print(a[x][y]+" ");
    }
    System.out.println("|");
    }
    for(x=0;x<i;x++){
    for(y=0;y<j;y++){
    if(x==y){
    Sum=Sum+a[x][y];
    }
    }

    }
    System.out.println("");
    System.out.println("Сумма главной диагонали матрицы "+Sum);
    }
    }

    Ответить

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *