С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 23.11.2024
Сообщений: 3

Сформировать матрицу следующего вида

27.11.2024, 17:25. Показов 938. Ответов 6

Студворк — интернет-сервис помощи студентам
0 1 2 3 2 1 0
1 0 1 2 1 0 1
2 1 0 1 0 1 2
3 2 1 0 1 2 3
2 1 0 1 0 1 2
1 0 1 2 1 0 1
0 1 2 3 2 1 0
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.11.2024, 17:25
Ответы с готовыми решениями:

Сформировать матрицу следующего вида:
0 0 0 1 0 0 0 0 0 1 2 1 0 0 0 1 2 3 2 1 0 1 2 3 .. 3 2 1 0 1 2 3 2 1 0 0 0 1 2 1 0 0 0 0 0 1 0 0 0 программа нужна не...

Сформировать матрицу следующего вида
Здравствуйте, вообще нет идей как это сделать, не вижу никакой закономерности.Заранее спасибо!

Сформировать матрицу следующего вида
Привет всем, нужно сформировать матрицы в с++ такого вида: .. 2 1 0 1 2 .. 2 2 1 0 1 2 2 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1...

6
 Аватар для volodin661
6671 / 2264 / 346
Регистрация: 10.12.2013
Сообщений: 7,827
27.11.2024, 17:32
ВОПРОС:
C++; Create and initialize matrix with values:
0 1 2 3 2 1 0
1 0 1 2 1 0 1
2 1 0 1 0 1 2
3 2 1 0 1 2 3
2 1 0 1 0 1 2
1 0 1 2 1 0 1
0 1 2 3 2 1 0


ОТВЕТ:
You can initialize the matrix with the given values in C++ using a 2D array. Here's an example of how to do this:
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
#include <iostream>
 
int main() {
    // Initialize the 7x7 matrix with the given values
    int matrix[7][7] = {
        {0, 1, 2, 3, 2, 1, 0},
        {1, 0, 1, 2, 1, 0, 1},
        {2, 1, 0, 1, 0, 1, 2},
        {3, 2, 1, 0, 1, 2, 3},
        {2, 1, 0, 1, 0, 1, 2},
        {1, 0, 1, 2, 1, 0, 1},
        {0, 1, 2, 3, 2, 1, 0}
    };
 
    // Print the matrix
    for (int i = 0; i < 7; ++i) {
        for (int j = 0; j < 7; ++j) {
            std::cout << matrix[i][j] << " ";
        }
        std::cout << std::endl;
    }
 
    return 0;
}
Explanation:

The matrix is declared as a 7x7 array of integers (int matrix[7][7]).
The values in the matrix are assigned as per your requirements using initializer lists.
A nested for loop is used to print the matrix row by row.

Output:

The output will look like this when you run the program:
Code
1
2
3
4
5
6
7
0 1 2 3 2 1 0 
1 0 1 2 1 0 1 
2 1 0 1 0 1 2 
3 2 1 0 1 2 3 
2 1 0 1 0 1 2 
1 0 1 2 1 0 1 
0 1 2 3 2 1 0
Поплавский, тебе всё ясно ?
0
0 / 0 / 0
Регистрация: 23.11.2024
Сообщений: 3
27.11.2024, 18:02  [ТС]
Не подойдёт подобный ход. Решение должно быть универсальным под любую размерность матрицы.
0
 Аватар для volodin661
6671 / 2264 / 346
Регистрация: 10.12.2013
Сообщений: 7,827
27.11.2024, 18:26
Hirose,

так это ты не мне говори, а жопэтэ.
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
27.11.2024, 18:32
Лучший ответ Сообщение было отмечено Hirose как решение

Решение

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
#include <iostream>
 
int main() 
{
    const int size=7;
    int a[size][size];
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
        {
            int dist1=abs(i-j); // расстояние от главной диагонали
            int dist2=abs(size-i-1-j);// расстояние от побочной диагонали
            int val=__min(dist1,dist2);
            a[i][j]=val;
        }
    }
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
            std::cout << a[i][j] << " ";
        std::cout<<'\n';
    }
    std::cin.get();
    return 0;
}
1
 Аватар для analogov net
2523 / 1122 / 493
Регистрация: 17.11.2018
Сообщений: 2,830
27.11.2024, 19:54
Лучший ответ Сообщение было отмечено zss как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <vector>
 
using namespace std;
 
int main(){
    int sz = 7; 
    vector<vector<int>> v(sz, vector<int>(sz));
    
    for (int i = 0; i < sz - sz / 2; i++)
        for (int j = 0; j < sz - sz / 2; j++)
            v[i][j] = v[i][sz - j - 1] = v[sz - i - 1][j] = v[sz - i - 1][sz - j - 1] = abs(i - j);
    
    for (const auto& row : v){
        for (int col : row)
            cout << col << ' ';
        cout << endl;
    }
}
1
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
28.11.2024, 03:46
Hirose, как вариант без массива....:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <cmath>
int main()
{
    int n = 7;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
            std::cout << abs(abs(i - n / 2) - abs(j - n / 2)) << ' ';
        std::cout << std::endl;
    }
    return 0;
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.11.2024, 03:46
Помогаю со студенческими работами здесь

Сформировать матрицу следующего вида
Сформировать матрицу следующего вида

Сформировать матрицу следующего вида
Помогите решить пожалуйста.

Сформировать квадратную матрицу А (15,15) следующего вида:
Сформировать квадратную матрицу А (15,15) следующего вида: 1 2 3 ... 15 ...

Сформировать прямоугольную матрицу А( 10 , 20 ) следующего вида
Сформировать прямоугольную матрицу А( 10 , 20 ) следующего вида : ...

Дано число n. Получить квадратную целочисленную матрицу следующего вида:
Дано число n. Получить квадратную целочисленную матрицу следующего вида: 00000 01110 01110 01110 00000


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru