С++ отсортировать строку матрицы в которой больше всего отрицательных элементов

Задача полностью сформулирована в заголовке.

Задача как бы разбивается на 2:

  • Найти ту строчку, где больше всего минимальных элементов
  • Отсортировать эту строчку.

Исходный код:

Continue reading

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

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

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

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

Continue reading

C++, Транспонированная матрица

Не хватало транспонированной матрицы:

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

Способ без использования динамической памяти (n не больше ста):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <time.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int maxsize = 100;
    int a [maxsize][maxsize], n;
    int temp;
    cout << "n=";
    cin >> n;
 
    if (n > maxsize)
    {
        cout << "n is too lage...";
        system("pause");
        return -1;
    }
    srand(time(NULL));
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            a[i][j] = rand() % 10;
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    for(int i=0;i<n;i++) 
    { 
        for(int j=i;j<n;j++) 
        {
            temp=a[j][i];
            a[j][i]=a[i][j];
            a[i][j]=temp;
        }
    }
    cout << "Transp.:" << endl;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    system("pause");
    return 0;
}
#include <iostream>
#include <time.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    const int maxsize = 100;
    int a [maxsize][maxsize], n;
    int temp;
    cout << "n=";
    cin >> n;

    if (n > maxsize)
    {
        cout << "n is too lage...";
        system("pause");
        return -1;
    }
    srand(time(NULL));
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            a[i][j] = rand() % 10;
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    for(int i=0;i<n;i++) 
    { 
        for(int j=i;j<n;j++) 
        {
            temp=a[j][i];
            a[j][i]=a[i][j];
            a[i][j]=temp;
        }
    }
    cout << "Transp.:" << endl;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    system("pause");
    return 0;
}

Пример работы программы

C++: Посчитать количество четных чисел в матрице

Задача:

Напишите программу, которая принимает с клавиатуры число N, создает матрицу размера N на N, заполненную случайными числами, и выводит ее на экран. Затем определите количество четных чисел в этой матрице.

Все просто. Сначала стандартные операции по заполнению массива и выводу его на экран, а весь смысл в этом условии:

Continue reading

C++, След матрицы

Задача:

След матрицы – это сумма диагональных элементов этой матрицы. Напишите программу, которая принимает с клавиатуры число N, создает матрицу размера N на N, заполненную случайными числами, и выводит ее на экран. Затем вычислите след этой матрицы.

Для решения этой задачи пригодятся формулы диагоналей из задачи «Единичная матрица»

Я написал 2 варианта решения. Первый — в несколько циклов. В первом заполняем, во втором считаем. Во втором случае — один цикл, сразу заполняем и считаем.

Continue reading

C++, Единичная матрица

Задание

Квадратная матрица называется единичной, если все ее диагональные элементы равны единице, а остальные — нулю. Напишите программу, которая принимает с клавиатуры число N, создает единичную матрицу размера N на N и выводит ее на экран.

Штука тут в том, что нужно заполнить диагонали единицами, а все остальное нулями. Чтобы так сделать, нужно понять, какая формула у диагоналей:

  • Формула главной диагонали: i == j
  • Формула побочной диагонали: j==n-i-1

Остается это только записать в код:

Continue reading

C++, Создать матрицу и заполнить ее случайными числами

Задание:

Напишите программу, которая принимает с клавиатуры число N, создает матрицу размера N на N, заполненную случайными числами, и выводит ее на экран.

Эта же задача, но без динамического массива и просто си

Continue reading

C++: Заполнить матрицу нолями, кроме главной и побочной диагоналей

Это во многом стандартное заполнение, но с условиями. Главная диагональ вычисляется по формуле i==j, а побочная j==N-i-1

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

Continue reading

C++: Нижнеугольная матрица

Написать программу,которая выводит на экран нижнетреугольную матрицу. Нижнетреугольная матрица — такая матрица, у которой все элементы которые ниже главной диагонали равны нулю, а все другие заданы случайным образом.

Continue reading