Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Удалить элементы главной диагонали - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Приведите пример методов startEngine и stopEngine в классе http://www.cyberforum.ru/cpp-beginners/thread1847019.html
ненахожу синтаксис и описание методов startEngine и stopEngine в классах можно минимальный пример кода?
C++ Как создать стек с разными указателиями внутри? Всем привет. Есть стек, в котором хранится 5 указателей на массивы char и указатель на след. элемент Строками пользоваться нельзя. Сейчас ошибка в том, что в конструкторе Link я присваиваю... http://www.cyberforum.ru/cpp-beginners/thread1847011.html
использование calloc C++
функция calloc выделяет память только для 4 элементов DWORD sizeFile = GetFileSize(hFile, NULL); char* str; int n = sizeFile / sizeof(char); str = (char*)calloc(n, sizeof(char));...
Зачем переменная size в данном коде? C++
Здравствуйте. Задание: Реализовать представление и основные операции для множеств. Помимо добавления, удаления, получения (и т.д.) элемента множества, реализовать операции объединения и...
C++ Цикл в цикле, 2 фигуры нужно найти пересечение http://www.cyberforum.ru/cpp-beginners/thread1846988.html
Нужно программу написать на си++ Цикл в цикле. Условие: На плоскости находится две фигуры. Одна фигура фиксирована и это будет многоугольник, другая фигура - окружность, меняется. Программа должна...
C++ Перегрузить операторы "+" для комплексных чисел: Перегрузить операторы + для комплексных чисел: А) Сделать функцию перегрузки оператора "+" дружественной класса. Б) Сделать функцию перегрузки оператора "+" - член класса. Нужна рабочая... подробнее

Показать сообщение отдельно
ZaAz
0 / 0 / 0
Регистрация: 25.11.2015
Сообщений: 20

Удалить элементы главной диагонали - C++

10.11.2016, 21:35. Просмотров 185. Ответов 0
Метки (Все метки)

Напишите программу по обработке массива, как объекта созданного Вами класса «Массив». Дана вещественная квадратная матрица порядка N. Удалить из матрицы элементы главной диагонали. Главное в программе использование классов.
Буду благодарен за ответ.

Добавлено через 6 часов 36 минут
Есть уже код, но нужно добавить класс
C++
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
#include "stdafx.h"
#include <iostream>
using namespace std;
void input(int** matrix, int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++)
            cin >> (*(*(matrix + i) + j));
    }
}
void output(int** matrix, int n) {
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
                cout << *(*(matrix + i) + j) << " ";
            cout << endl;
        }
    }
void del(int** matrix, int n) {
    for (int i = 0; i < n; i++) {
            *(*(matrix + i) + i) = 0;
    }
        cout << endl;
    
}
int main()
    
{
 
    int n;
    cout << "N="; //ввод количества строк
    cin >> n;
    int** matrix = new int*[n];
    for (int i = 0; i < n; i++)
        matrix[i] = new int[n];
    cout << "Input matrix \n";
    input(matrix, n);
    output(matrix, n);
    del(matrix, n);
    output(matrix, n);
    system("pause");
    return 0;
}
Добавлено через 24 минуты
Вот сделал, кто может проверить, правильно ли. И есть ли варианты удалить диагональ полностью, а не заменять на 0?

C++
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
51
52
#include "stdafx.h"
#include <iostream>
using namespace std;
class Array
{
private:
    int** matrix;
    int n;
public:
    void del(int** matrix, int n) {
        for (int i = 0; i < n; i++) {
            *(*(matrix + i) + i) = 0;
        }
        cout << endl;
    }
    void output(int** matrix, int n) {
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n; j++)
                cout << *(*(matrix + i) + j) << " ";
            cout << endl;
        }
    }
    void input(int** matrix, int n) {
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++)
                cin >> (*(*(matrix + i) + j));
        }
    }
};
 
 
 
int main()
    
{
 
    int n;
    cout << "N="; //ввод количества строк
    cin >> n;
    int** matrix = new int*[n];
    for (int i = 0; i < n; i++)
        matrix[i] = new int[n];
    Array objArray;
    cout << "Input matrix \n";
    objArray.input(matrix,n);
    objArray.output(matrix, n);
    objArray.del(matrix, n);
    objArray.output(matrix, n);
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru