С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
22 / 22 / 0
Регистрация: 07.03.2020
Сообщений: 100
1

Сформировать матрицу по указанному правилу

03.10.2020, 07:50. Показов 1373. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Матрицу A[n] [n] сформировать по следующему принципу: по диагонали расположены еденицы, выше диагонали - нули, а элементы, расположенные ниже диагонали, равны сумме соответствующих индексов.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2020, 07:50
Ответы с готовыми решениями:

Сформировать матрицу размером 10*19 по указанному правилу
Сформировать матрицу размером 10*19 по следующему правилу.В первой строке средний (десятый) элемент...

Сформировать матрицу из исходной матрицы по указанному правилу
Дана действительно матрица МхN. Найти матрицу того же порядка, в которой элемент равен 1, если...

Сформировать массив по указанному правилу
Сформировать массив: Y=A+A Y= A+A Y= A+A и т.д. (n - четное) Не знаю как написать данную...

Сформировать последовательность по указанному правилу
2.Возьмите два натуральных числа a и b. Образуйте последовательность, состоящую и n членов: a=x1, b...

8
111 / 81 / 34
Регистрация: 18.06.2020
Сообщений: 422
03.10.2020, 09:38 2
DaniilRay,
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <locale.h>
 
int main() {
    setlocale(LC_ALL, "Russian");
    int n;
    printf("Какого размера будет ваша матрица?\n");
    printf("n= ");
    scanf_s("%d", &n);
    printf("Введите вашу матрицу:\n");
    int** a = new int* [n];//выделяем память под матрицу
    for (int i = 0; i < n; ++i)
        a[i] = new int[n];
 
 
    for (int i = 0; i < n; i++) {  //заполнение матрицы
        for (int j = 0; j < n; j++) {
            if (i == j) {
                a[i][j] = 1;
            }
            else if (i > j)
            {
                //если индексы считыть от 1, то к i нужно прибавить 1 и к j нужно прибавить единицу
                a[i][j] = i + 1+ j+1;
            }
            else
            {
                a[i][j] = 0;
            }
        }
    }
 
    for (int i = 0; i < n; i++) { // вывод матрицы
        for (int j = 0; j < n; j++) {
            printf("%d\t", a[i][j]);
        }
        printf("\n");
    }
 
    _getch();
 
    for (int i = 0; i < n; ++i)//освобождаем память
        delete[] a[i];
    delete[] a;
 
    return 0;
}
0
22 / 22 / 0
Регистрация: 07.03.2020
Сообщений: 100
03.10.2020, 09:40  [ТС] 3
А можно как-то попроще? Без указателей и выделения памяти, без scanf. На c++ вообще cout и cin, вместо print...
0
111 / 81 / 34
Регистрация: 18.06.2020
Сообщений: 422
03.10.2020, 09:41 4
только если пользователя не спрашивать о размере матрицы, а задать фиксированную
0
22 / 22 / 0
Регистрация: 07.03.2020
Сообщений: 100
03.10.2020, 09:42  [ТС] 5
Выделение памяти и указатели обязательны?
0
111 / 81 / 34
Регистрация: 18.06.2020
Сообщений: 422
03.10.2020, 09:46 6
DaniilRay,
или так
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <locale.h>
#include <iostream>
using namespace std;
int main() {
    setlocale(LC_ALL, "Russian");
    int n;
    cout << "Какого размера будет ваша матрица?" << endl;
 
    cin >> n;
    int a[100][100];
 
 
    for (int i = 0; i < n; i++) {  //заполнение матрицы
        for (int j = 0; j < n; j++) {
            if (i == j) {
                a[i][j] = 1;
            }
            else if (i > j)
            {
                //если индексы считыть от 1, то к i нужно прибавить 1 и к j нужно прибавить единицу
                a[i][j] = i + 1 + j + 1;
            }
            else
            {
                a[i][j] = 0;
            }
        }
    }
 
    for (int i = 0; i < n; i++) { // вывод матрицы
        for (int j = 0; j < n; j++) {
            cout << a[i][j] << "\t";
        }
        cout << endl;
    }
 
    _getch();
 
 
    return 0;
}
Добавлено через 39 секунд
максимальный размер - 100x100
0
22 / 22 / 0
Регистрация: 07.03.2020
Сообщений: 100
03.10.2020, 09:49  [ТС] 7
Во, так гораздо лучше, как разберусь, отпишусь)
0
Искусственный интеллект
112 / 82 / 34
Регистрация: 26.08.2020
Сообщений: 590
Записей в блоге: 1
03.10.2020, 11:56 8
Цитата Сообщение от DaniilRay Посмотреть сообщение
равны сумме соответствующих индексов.
Не понял, что это значит?
Вот мой код с одной ошибкой, 1 ставит не на диагонали а под, буду благодарен если кто исправит:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
const int n = 15;
int a[n][n];
 
int main() {
    for (int i = 0, j = 0; i < n; i += ++j / n, j %= n) {
        a[i][j] = (j < n - i ? 0 : (j == n - i ? 1 : 2));
        std::cout << a[i][j] << (j < n - 1 ? ' ' : '\n');
    }
    return 0;
}
Добавлено через 10 минут
DaniilRay,
0
Искусственный интеллект
112 / 82 / 34
Регистрация: 26.08.2020
Сообщений: 590
Записей в блоге: 1
03.10.2020, 21:00 9
Вот, спасибо analogov net:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
const int n = 15;
int a[n][n];
 
int main() {
    for(int i = 0, j = 0; i <= n; i += ++j / n, j %= n) {
        a[i][j] = (j < n - i ? 0 : (j == n - i ? 1 : 2));
        if(i) std::cout << a[i][j] << (j < n - 1 ? ' ' : '\n');
    }
    return 0;
}
Добавлено через 6 минут
DaniilRay,
0
03.10.2020, 21:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2020, 21:00
Помогаю со студенческими работами здесь

Сформировать вектор по указанному правилу
Задано целое число k&gt;3 и массив действительных чисел v=(v1,v2,...,vN).Найти вектор ...

Сформировать массив по указанному правилу
Всем привет, помогите пожалуйста решить задание, не понимаю как это реализовать с указанным...

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

Заполнить матрицу по указанному правилу
Не могу дописать программу, где надо заполнить массив data 4x4 цифрой 7 и цифрой 8 выше главной...

Матрицу A (m, n) заполнить по указанному правилу
Помогите решить. Матрицу A (m, n) заполнить следующим образом. Для заданных k и l элемента akl...

Сформировать новый массив по указанному правилу
Задание: Дан массив A размера N. Сформировать новый массив B того же раз- мера, элементы которого...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru