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

матрица + вектор = матрица

19.11.2021, 10:18. Показов 1783. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите как сделать этот код, ничего вообще не получается.
Даны матрица
A(n * m)
и вектор
B(n)
. Получить матрицу
С(n * m)
такую,
что:
сij = bi , при аij > 0
cij = - bi , при аij < 0
cij = 0 , при аij = 0
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2021, 10:18
Ответы с готовыми решениями:

Даны квадратная матрица A порядка n и вектор с n элементами. Получить вектор: (A=E)b, где E единичная матрица порядка n
Даны квадратная матрица A порядка n и вектор с n элементами. Получить вектор: (A=E)b, где E-единичная матрица порядка n. Помогите...

Дана вещественная квадратная матрица A порядка n и вектор b , размером n. Найти вектор c=b*A
Дана вещественная квадратная матрица A порядка n и вектор b , размером n. Найти вектор c=b*A и ...

Дана вещественная квадратная матрица A порядка n и вектор b, размером n. Найти вектор d
Дана вещественная квадратная матрица A порядка n и вектор b , размером n. Найти ...

22
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
19.11.2021, 10:20
Eggorrr, покажете, что получается
0
0 / 0 / 0
Регистрация: 19.11.2021
Сообщений: 30
19.11.2021, 10:23  [ТС]
кратко я не понимаю как вообще с вектором тут что-то делать
в голове есть план: сначала прописать матрицу, потом вектор, потом ввести матрицу и условия(но как мне кажется я не правильно даже думаю)
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5209 / 2927 / 1509
Регистрация: 14.12.2018
Сообщений: 5,267
Записей в блоге: 1
19.11.2021, 10:46
Eggorrr,
C++
1
2
3
4
5
6
7
8
    for (int i = 0; i < n; i++)
        for (int j = 0; j < m; j++)
            if (a[i][j] > 0)
                c[i][j] = b[i];
            else if (a[i][j] < 0)
                c[i][j] = -b[i];
            else
                c[i][j] = 0;
0
0 / 0 / 0
Регистрация: 19.11.2021
Сообщений: 30
19.11.2021, 11:39  [ТС]
помогите пожалуйста, подскажите как сделать данный код.
когда я просто пишу матрицу мне пишут что C++ не удается открыть источник файл stdafx.h, ПОЧЕМУУУ, аааа, адский ад.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
19.11.2021, 11:44
Eggorrr, уберите stdafx.h если пишите на С++ всё что идёт с .h - это из языка C

Добавлено через 1 минуту
Цитата Сообщение от Eggorrr Посмотреть сообщение
подскажите как сделать данный код
Вы забыли сообщить условие задачи и показать свой код
0
0 / 0 / 0
Регистрация: 19.11.2021
Сообщений: 30
19.11.2021, 11:46  [ТС]
Даны матрица
A(n * m)
и вектор
B(n)
. Получить матрицу
С(n * m)
такую,
что:
сij = bi , при аij > 0
cij = - bi , при аij < 0
cij = 0 , при аij = 0
свой код я полностью очистил, так как вообще не получается(просто подскажите ход действий пожалуйста)
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
19.11.2021, 11:58
Цитата Сообщение от Eggorrr Посмотреть сообщение
подскажите ход действий
объявляете двумерный динамический массив A
объявляете одномерный динамический массив B
объявляете двумерный динамический массив C
заполняете массив A значениями
заполняете массив B значениями
выводите на экран массив A
выводите на экран массив B
присваиваете значения элементам массива C
выводите на экран массив C
освобождаете память
0
0 / 0 / 0
Регистрация: 19.11.2021
Сообщений: 30
19.11.2021, 12:00  [ТС]
а почему B массив? если он вектор
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
19.11.2021, 12:02
матрица, состоящая из одной строки, называется вектор-строкой. сокращенно называют вектор
0
0 / 0 / 0
Регистрация: 19.11.2021
Сообщений: 30
19.11.2021, 12:04  [ТС]
получается я сначала пишу массив потом еще раз массив, а потом я пишу третий массив при таких то условиях?
0
0 / 0 / 0
Регистрация: 19.11.2021
Сообщений: 30
04.12.2021, 20:15  [ТС]
Даны матрица
A(n * m)
и вектор
B(n)
. Получить матрицу
С(n *m)
такую,
что:
сij = bi , при аij > 0
cij = - bi , при аij < 0
cij = 0 , при аij = 0

у меня есть представление как написать код
1-дввумерный массив
2- одномерный массив
3-опять двумерный массив
4- ввести условия
но я не могу понять как устроены массивы
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
04.12.2021, 20:28
N и M вводятся с клавиатуры, или достаточно прописать в программе ?
0
0 / 0 / 0
Регистрация: 19.11.2021
Сообщений: 30
04.12.2021, 20:29  [ТС]
как я понимаю в программе
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
04.12.2021, 20:30
Eggorrr, конкретизируйте что именно не понятно

будет ещё лучше если напишите код и покажете в каких строках что-то не получается
0
0 / 0 / 0
Регистрация: 19.11.2021
Сообщений: 30
04.12.2021, 20:35  [ТС]
дело в том что я не могу понять вообще всю суть массивов в с++
честно, я буду признателен если расскажите как работают массивы и как прописать чтобы они...нууу чтобы я мог написать и А и Б. я не прошу решать вас, просто подскажите как работают массивы весь день убил на массивы и ничего не понял.

Добавлено через 56 секунд
я смотрел видосы, я читал лекции и не понял вообще ничего, может есть какая-то фишка которая всё сразу объяснит
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
04.12.2021, 20:42
Цитата Сообщение от Eggorrr Посмотреть сообщение
может есть какая-то фишка которая всё сразу объяснит
Нету фишек.
Массивы в C++

В след. коде используются автоматические массивы. Их размер известен на этапе компиляции программы.
С них и стоит начинать знакомится с массивами.

Кликните здесь для просмотра всего текста

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 <ctime>
 
using namespace std;
const size_t N = 5, M = 8;
void fillRandom(int arr[N][M]);
void fillRandom(int arr[N]);
void printArray(int arr[N][M]);
void printArray(int arr[N]);
 
int main()
{
    int A[N][M], B[N], C[N][M];
    fillRandom(A);
    cout << "Array A : " << endl;
    printArray(A);
    cout << endl;
    cout << "Array B : " << endl;
    fillRandom(B);
    printArray(B);
    cout << endl;
    for (size_t i=0; i<N; ++i)
        for (size_t j=0; j<M; ++j)
            C[i][j] = A[i][j] == 0 ? 0 : (A[i][j] > 0 ? B[i] : -B[i]); 
    cout << "Array C : " << endl;
    printArray(C);
    return 0;
}
 
void fillRandom(int arr[N][M]){
    srand(time(0));
    for (size_t i=0; i<N; ++i)
        for (size_t j=0; j<M; ++j)
            arr[i][j] = rand()%10 - 5;
}
void fillRandom(int arr[N]){
    srand(time(0));
    for (size_t i=0; i<N; ++i)
            arr[i] = rand()%10 - 9;
    cout << endl;
}
void printArray(int arr[N][M]){
    for (size_t i=0; i<N; ++i){
        for (size_t j=0; j<M; ++j)
            cout << arr[i][j] << '\t';
        cout << endl;
    }
}
void printArray(int arr[N]){
    for (size_t i=0; i<N; ++i)
        cout << arr[i] << '\t';
}
1
0 / 0 / 0
Регистрация: 19.11.2021
Сообщений: 30
04.12.2021, 20:49  [ТС]
стоп, а что это за код, почему он сделан как решение моей задачи?

Добавлено через 2 минуты
как я понял, это не мой код, получается мне осталось добавить условия?
0
0 / 0 / 0
Регистрация: 19.11.2021
Сообщений: 30
04.12.2021, 20:58  [ТС]
подскажите как сделать этот код, ничего вообще не получается.
Даны матрица
A(n * m)
и вектор
B(n)
. Получить матрицу
С(n * m)
такую,
что:
сij = bi , при аij > 0
cij = - bi , при аij < 0
cij = 0 , при аij = 0





этот код подходит под условие или нет, я не могу понять








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 <ctime>
 
using namespace std;
const size_t N = 6, M = 8;
void fillRandom(int arr[N][M]);
void fillRandom(int arr[N]);
void printArray(int arr[N][M]);
void printArray(int arr[N]);
 
int main()
{
    int A[N][M], B[N], C[N][M];
    fillRandom(A);
    cout << "Array A : " << endl;
    printArray(A);
    cout << endl;
    cout << "Array B : " << endl;
    fillRandom(B);
    printArray(B);
    cout << endl;
    for (size_t i = 0; i < N; ++i)
        for (size_t j = 0; j < M; ++j)
            C[i][j] = A[i][j] == 0 ? 0 : (A[i][j] > 0 ? B[i] : -B[i]);
    cout << "Array C : " << endl;
    printArray(C);
    return 0;
}
 
void fillRandom(int arr[N][M]) {
    srand(time(0));
    for (size_t i = 0; i < N; ++i)
        for (size_t j = 0; j < M; ++j)
            arr[i][j] = rand() % 10 - 5;
}
void fillRandom(int arr[N]) {
    srand(time(0));
    for (size_t i = 0; i < N; ++i)
        arr[i] = rand() % 10 - 9;
    cout << endl;
}
void printArray(int arr[N][M]) {
    for (size_t i = 0; i < N; ++i) {
        for (size_t j = 0; j < M; ++j)
            cout << arr[i][j] << '\t';
        cout << endl;
    }
}
void printArray(int arr[N]) {
    for (size_t i = 0; i < N; ++i)
        cout << arr[i] << '\t';
}
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
04.12.2021, 21:00
Eggorrr, эммм, это код под вашу задачу, условие уже в коде.

код
C++
24
C[i][j] = A[i][j] == 0 ? 0 : (A[i][j] > 0 ? B[i] : -B[i]);
можно расписать более понятно, но размашистей.
C++
24
25
26
27
28
29
30
31
        {
            if (A[i][j] == 0)
                C[i][j] = 0;
            else if (A[i][j] < 0)
                C[i][j] = -B[i];
                else if (A[i][j] > 0)
                     C[i][j] = B[i];
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.12.2021, 21:00
Помогаю со студенческими работами здесь

Есть квадратная матрица А порядка n и вектор b с n элементами. Получить вектор Аb.
Привет. Не могу разобратся, вот задание: Есть квадратная матрица А порядка n и вектор b с n элементами. Получить вектор Аb.

матрица на вектор, вроде правильно, а вектор на матрицу? посмотрите пожалуйста?
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int main() { ...

Даны квадратная матрица A порядка n и вектор b c n элементами. Получить вектор: A^2b
Даны квадратная матрица A порядка n и вектор b c n элементами. Получить вектор: A^2b. Помогите пожалуйста, у самого никак не получается:((

Почему матрица на вектор умножается быстрее чем вектор на матрицу?
Почему матрица на вектор умножается быстрее чем вектор на матрицу?

Вычислить вектор P=A^n*X, где A-матрица, X-вектор
Требовалось написать программу с использование функций, при компиляции ошибка segmentation fault #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru