Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Miha2059
0 / 0 / 3
Регистрация: 15.10.2014
Сообщений: 29
Записей в блоге: 1
#1

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

14.03.2015, 18:59. Просмотров 213. Ответов 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)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2015, 18:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Заполнить матрицу (C++):

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

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

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

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

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

Заполнить матрицу А(15,15)
Здравствуйте. Помогите пожалуйста решить задачу. Недавно начал изучать С++,...

2
Kant
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
MicM
824 / 483 / 324
Регистрация: 29.12.2009
Сообщений: 1,106
Завершенные тесты: 1
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2015, 21:10
Привет! Вот еще темы с решениями:

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

Заполнить матрицу
необходимо заполнить матрицу

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru