0 / 0 / 0
Регистрация: 15.10.2014
Сообщений: 29
Записей в блоге: 1
1

Заполнить матрицу

14.03.2015, 18:59. Показов 965. Ответов 2
Метки нет (Все метки)

дано квадратную матрицу в которой все элементы = 1, написать функцию void func (int** arr, int n), заполнит нужные области 0 (размер массива вводить с клавиатуры)

Код
начальная           преобразованная 
1 1 1 1 1 1            1 0 1 0 1 0
1 1 1 1 1 1            1 0 1 0 1 0
1 1 1 1 1 1   =>       1 0 1 0 1 0
1 1 1 1 1 1            1 0 1 0 1 0
1 1 1 1 1 1            1 0 1 0 1 0
1 1 1 1 1 1            1 0 1 0 1 0
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2015, 18:59
Ответы с готовыми решениями:

Заполнить матрицу случайными числами. Вернуть матрицу на 90o по часовой стрелке
Заполнить матрицу случайными числами. Вернуть матрицу на 90o по часовой стрелке.

Заполнить матрицу случайными числами. Развернуть матрицу на 90(градусов) против часовой стрелки
Заполнить матрицу случайными числами. Развернуть матрицу на 90o против часовой стрелки

Заполнить матрицу 9x9 случайными числами. Отобразить матрицу симметрично относительно главной диагонали
Заполнить матрицу случайными числами. Отобразить матрицу симметрично относительно главной диагонали

Заполнить матрицу случайными числами. Разбить матрицу на квадраты размером 3х3. В центре каждого квадрата поме
Помогите пожалуйста есть некоторые мысли, ну успешного ответа нет :((( #include <iostream>...

2
33 / 33 / 18
Регистрация: 15.05.2013
Сообщений: 236
14.03.2015, 19:26 2
Лучший ответ Сообщение было отмечено Miha2059 как решение

Решение

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
#include <iostream>
using namespace std;
 
void func(int **arr, int n);
 
int main(int argc, char *argv[])
{
    int n = 0;
    cout << "Enter n = ";
    cin >> n;
 
    int **matrix = new int*[n];
    for(int i=0;i<n;++i) {
        matrix[i] = new int;
        for(int j=0;j<n;++j) {
            matrix[i][j] = 1;
        }
    }
 
    func(matrix, n);
 
    for(int i=0;i<n;++i) {
        for(int j=0;j<n;++j) {
            cout << matrix[i][j] << " ";
        }
        cout << endl;
    }
 
    for(int i=0;i<n;++i)
        delete[] matrix[i];
    delete[] matrix;
 
    return 0;
}
 
 
void func(int **arr, int n) {
    for(int i=0;i<n;++i)
        for(int j=0;j<n;++j)
            if(j%2) arr[i][j] = 0;
}
0
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
14.03.2015, 21:10 3
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 <iostream>
#include <algorithm>
#include <boost/numeric/ublas/matrix.hpp>
 
namespace ublas = boost::numeric::ublas;
 
void input_data (int & num_of_rows, int & num_of_cols)
{
    do
    {
        std::cout <<"Число строк: ";
        std::cin >> num_of_rows;
    }
    while (num_of_rows < 1);
    do
    {
        std::cout <<"Число столбцов: ";
        std::cin >> num_of_cols;
    }
    while (num_of_cols < 1);
}
 
void print_matrix (const ublas::matrix<int> & A)
{
    for (int i = 0; i < A.size1(); i++)
    {
        for (int j = 0; j < A.size2(); j++)
        {
            std::cout <<A(i,j) <<' ';
        }
        std::cout <<std::endl;
    }
}
 
void fill_scope (ublas::matrix<int> & A)
{
    for (int i = 1; i < A.size2(); i+=2)
        for (int j = 0; j < A.size1(); j++)
            A(j,i) = 0;
}
 
int main()
{
    int number_of_rows, number_of_cols;
    input_data (number_of_rows, number_of_cols);
    ublas::matrix<int> A (number_of_rows, number_of_cols);
    std::fill (A.begin2(), A.end2() + number_of_cols * (number_of_rows - 1), 1);
    print_matrix(A);
    std::cout <<"Преобразованная\n";
    fill_scope(A);
    print_matrix(A);
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2015, 21:10
Помогаю со студенческими работами здесь

Заполнить матрицу
Заполните матрицу ЛП,от центра по спирали:вниз-влево-вверх-вправо.

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

Заполнить матрицу
Заполнить массив А следующим образом: 1 2 3 .... 10 0 1 2 .... 9 0 0 1 .... 8 ...

Заполнить матрицу
Помогите пожалуйста. Нужно заполнить матрицу целыми значениями в интервале [10;100) и посчитать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru