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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
masyk
1 / 1 / 0
Регистрация: 20.10.2012
Сообщений: 34
#1

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

11.03.2013, 21:09. Просмотров 1568. Ответов 1
Метки нет (Все метки)

Задали квадратную матрицу, все элементы которой равны единице. Написать функцию void func (int ** arr, int n), которая заполняет заштрихованной области матрицы (согласно варианту) нулями. Размер массива вводится с клавиатуры.
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
53
54
55
56
57
58
59
60
#include <iostream>
#include <iomanip>
using namespace std;
 
// заполнение массива единицами
void fill_array_one( int**, size_t );
// заполнение массива по схеме
void fill_array_scheme( int**, size_t );
// печать массива
void print_array( int**, size_t );
 
 
int main() {
    size_t dimm;
    int **my_arr;
 
    cout << "Введите размерность квадратной матрицы" << endl;
    cin >> dimm;
 
    my_arr = new int *[ dimm ];
 
    for ( size_t i = 0; i < dimm; i++ )
        my_arr[ i ] = new int[ dimm ];
 
    cout << "Квадратная матрица заполнена единицами" << endl;
    fill_array_one( my_arr, dimm );
    print_array( my_arr, dimm );
 
    cout << "Квадратная матрица заполнена по схеме" << endl;
    fill_array_scheme( my_arr, dimm );
    print_array( my_arr, dimm );
 
    for ( size_t i = 0; i < dimm; i++ )
            delete[] my_arr[ i ];
 
        delete[] my_arr;
 
    return 0;
}
 
void fill_array_one( int** arr, size_t n ){
    for ( size_t i = 0; i < n; ++i )
            for ( size_t j = 0; j < n; ++j )
                arr[ i ][ j ] = 1;
}
 
void fill_array_scheme( int** arr, size_t n ){
    for ( size_t i = 0; i < n; ++i )
            for ( size_t j = 0; j < n; ++j )
                if ( i >= j )
                    arr[ i ][ j ] = 0;
}
 
void print_array( int** array, size_t n ) {
    for ( size_t i = 0; i < n; ++i ){
        for ( size_t j = 0; j < n; ++j )
            cout << setw(2) << array[ i ][ j ] ;
    cout << endl;
    }
}

она заполняет заданную матрицу с верхнего левого угла до нижнего правого, а мне нужно из правого верхнего в нижний левый
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 21:09     Заполнить матрицу нулями
Посмотрите здесь:

Создать новую матрицу, скопировав её из исходной; заполнить 30% новой матрицы нулями в случайном порядке - C++
Задание 3 скопировать 2-мерный массив и 30% чисел в нем заполнить нулями (в случайном порядке)

Заполнить матрицу числами натурального ряда в порядке их возрастания, начиная с единицы, перемежающихся нулями - C++
составить программу, решающую следующую задачу:Дано два натуральных числа n и m. Сформировать двумерный массив A, заполнив его числами...

Заполнить заштрихованную область матрицы нулями - C++
Задали квадратную матрицу, все элементы которой равны единице. Написать фунцию void func (int** arr, int n) которая заполняет...

Заполнить нулями заданную область матрицы - C++
Задана квадратная матрица, все элементы которой равны единице. Написать функцию void func (int ** arr, int n), которая заполняет...

Заполнить 16 бит (2 байта) единицами и нулями - C++
Как правильнее и проще заполнить два байта единицами и нулями (то есть задать каждый бит отдельно)? (мне их потом нужно в COM отправить)

Заполнить массив нулями до определенной длины - C++
Всем доброго времени суток. Не получается дополнить массив типа wchar_t нулями до определенной длины Допустим переменная buff содержит...

Заполнить двумерный массив единицами и нулями в определенной последовательности - C++
ребят, помогите, в голову никак не укладывается, нужно заполнить двумерный массив Arr значениями &quot;0&quot; и &quot;1&quot; в такой последовательности: 1...

Заполнить нулями элементы квадратной матрицы, расположенными по её периметру - C++
Заполнить нулями элементы квадратной матрицы, расположенными по её периметру. кто может помочь написать? Срочно нужно сдать.

vfnhbwe заполнить нулями и единицами, расположив их в шахматном порядке - C++
Целочисленный массив K(n,n) заполнить нулями и единицами, расположив их в шахматном порядке

Заполнить двумерный массив нулями и единицами в шахматном порядке - C++
Помогите пожалуйста с задачими га языке с++ Заполнить двумерный массив размером n×n единицами и нулями таким образом, чтобы единицы...

Заполнить нулями элементы квадратной матрицы, расположенными по её периметру - C++
Заполнить нулями элементы квадратной матрицы, расположенными по её периметру. Нужно написать, используя функции. Кто может помочь?

Заполнить двумерный массив случайными числами, а диагонали - нулями - C++
Заполнить двумерный массив случайными числами. И в массиве заполнить диагонали 0.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
srg_btl
34 / 34 / 2
Регистрация: 21.02.2013
Сообщений: 90
12.03.2013, 14:59     Заполнить матрицу нулями #2
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
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <iomanip>
using namespace std;
 
// заполнение массива единицами
void fill_array_one( int**, size_t );
// заполнение массива по схеме
void fill_array_scheme( int**, size_t );
// печать массива
void print_array( int**, size_t );
 
 
int main() {
    size_t dimm;
    int **my_arr;
 
    cout << "Введите размерность квадратной матрицы" << endl;
    //cin >> dimm;
    dimm = 5;
 
    my_arr = new int *[ dimm ];
 
    for ( size_t i = 0; i < dimm; i++ )
        my_arr[ i ] = new int[ dimm ];
 
    cout << "Квадратная матрица заполнена единицами" << endl;
    fill_array_one( my_arr, dimm );
    print_array( my_arr, dimm );
 
    cout << "Квадратная матрица заполнена по схеме" << endl;
    fill_array_scheme( my_arr, dimm );
    print_array( my_arr, dimm );
 
    for ( size_t i = 0; i < dimm; i++ )
            delete[] my_arr[ i ];
 
        delete[] my_arr;
 
    return 0;
}
 
void fill_array_one( int** arr, size_t n ){
    for ( size_t i = 0; i < n; ++i )
            for ( size_t j = 0; j < n; ++j )
                arr[ i ][ j ] = 1;
}
 
void fill_array_scheme( int** arr, size_t n ){
    for ( size_t i = 0; i < n; ++i )
            for ( size_t j = 0; j < n; ++j )
                if ( i + j >= n )
                    arr[ i ][ j ] = 0;
}
 
void print_array( int** array, size_t n ) {
    for ( size_t i = 0; i < n; ++i ){
        for ( size_t j = 0; j < n; ++j )
            cout << setw(2) << array[ i ][ j ] ;
    cout << endl;
    }
}
добавишь в условие n-1 занулит и диагональ
C++
1
2
if ( i + j >= n )
                    arr[ i ][ j ] = 0;
Yandex
Объявления
12.03.2013, 14:59     Заполнить матрицу нулями
Ответ Создать тему
Опции темы

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