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

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

Войти
Регистрация
Восстановить пароль
 
Alexander Watt
0 / 0 / 0
Регистрация: 13.10.2014
Сообщений: 10
#1

Из матрицы получить вектор - C++

26.11.2014, 22:07. Просмотров 1187. Ответов 10
Метки нет (Все метки)

Из матрицы размером NxM получить вектор B, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы нулевые, иначе 1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2014, 22:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Из матрицы получить вектор (C++):

Матрицы. Получить вектор X, равный P-й строке матрицы, и вектор Y, равный Q-му столбцу матрицы - C++
1. Дана матрица A (3 х 5). Получить вектор X, равный P-й строке матрицы, и вектор Y, равный Q-му столбцу матрицы. P и Q запросить у...

Из матрицы получить вектор по правилу - C++
Из матрицы размером N×M получить вектор B, присвоим его k-му элементу значение 0, если все элементы k-го столбца матрицы нулевые, иначе 1....

Получить вектор сумм элементов нечетных столбцов матрицы - C++
1.В матрице вещественных чисел из 5ти строк и 4х столбцов определить кол-во положительных, отрицательных и нулевых элементов 2.Получить...

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

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

не могу сделать так чтоб я сам вводил матрицы) задача умножения матрицы на вектор - C++
Всем привет. вобщем задача моя такова , что я задал готовое количество элементов в матрицу и в вектор, а программа умножает ее. сами задаем...

10
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
26.11.2014, 22:57 #2
Я такой тупой, или так написано? Допустим, эту часть я понял
"Из матрицы размером NxM получить вектор B, присвоив его k-му элементу значение 0,"
Преобразуем и присвоим значение.
Но вот остальная часть
если все элементы k-го столбца матрицы нулевые, иначе 1
не согласована с первым.
0
Alexander Watt
0 / 0 / 0
Регистрация: 13.10.2014
Сообщений: 10
26.11.2014, 23:02  [ТС] #3
я сам теперь что-то не понял. Принял бы помощь хотя бы с логической частью сего задания)
0
Mr_Progger
24 / 24 / 9
Регистрация: 01.11.2013
Сообщений: 173
26.11.2014, 23:12 #4
Вроде всё ясно, если элементы k-го столбца нулевые то добавить в вектор 0, иначе добавить 1.
Изначально вектор пуст.
0
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
26.11.2014, 23:32 #5
Цитата Сообщение от Mr_Progger Посмотреть сообщение
Вроде всё ясно, если элементы k-го столбца нулевые то добавить в вектор 0, иначе добавить 1.
Как он написал, то это нужно добавить не в конец, а k-ому элементу.
0
Mr_Progger
24 / 24 / 9
Регистрация: 01.11.2013
Сообщений: 173
26.11.2014, 23:40 #6
Цитата Сообщение от casper007 Посмотреть сообщение
Как он написал, то это нужно добавить не в конец, а k-ому элементу.
а k-ый элемент это который?
0
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
26.11.2014, 23:51 #7
Цитата Сообщение от Mr_Progger Посмотреть сообщение
а k-ый элемент это который?
вот сюда все и упирается. Условие весьма расплывчато написано
0
Mr_Progger
24 / 24 / 9
Регистрация: 01.11.2013
Сообщений: 173
26.11.2014, 23:55 #8
Цитата Сообщение от casper007 Посмотреть сообщение
вот сюда все и упирается. Условие весьма расплывчато написано
Условие написано ясно, k-ый элемент это номер столбца от 1 до N, а точнее от 0 до N-1

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
#include <iostream>
#include <ctime>
#include <vector>
#include <iomanip>
 
 
int main()
{
    const int n = 3;
    const int m = 3;
    int a = 0, b;
    int matr[m][n] ={ { 0, 1, 1 }, { 0, 23, 3 }, {0, 5, 6}};
    std::vector<int> vect;
    srand(time(NULL));
 
    /*for (size_t i = 0; i < m; i++)
    for (size_t j = 0; j < n; j++)
        matr[i][j] = rand() % 10; */
    for (size_t i = 0; i < m; i++)
    {
        for (size_t j = 0; j < n; j++)
            std::cout << std::setw(2) << matr[i][j];
        std::cout << std::endl;
    }
    std::cout << "---------------------" << std::endl;
    while (a < n)
    {
        b = 0;
        for (size_t i = 0; i < m; i++)
        {
            if (matr[i][a] != 0)
                b = 1;
        }
        if (b == 0)
            vect.push_back(0);
        else
            vect.push_back(1);
    a++;
    }
    for (std::vector<int>::iterator iter = vect.begin(); iter != vect.end(); iter++)
        std::cout << std::setw(3) << *iter;
    std::cout << std::endl;
    system("pause");
    return 0;
}
1
casper007
67 / 67 / 22
Регистрация: 12.12.2013
Сообщений: 400
27.11.2014, 00:04 #9
Цитата Сообщение от Mr_Progger Посмотреть сообщение
k-ый элемент это номер столбца
Я понял. Но не понятно, что куда присвоить. Скорей всего пользователь должен сам указать этот k-ый элемент, и уже на его место поставит 0 или 1
0
Mr_Progger
24 / 24 / 9
Регистрация: 01.11.2013
Сообщений: 173
27.11.2014, 00:20 #10
Цитата Сообщение от casper007 Посмотреть сообщение
Но не понятно, что куда присвоить.
если в первом столбце матрицы все элементы нулевые, то в первый элемент вектора пишем 0 иначе 1
если во втором столбце матрицы все элементы нулевые, то во второй элемент вектора пишем 0 иначе 1
и т.д. пока не переберём все столбцы
0
Клейтон
0 / 0 / 1
Регистрация: 11.02.2013
Сообщений: 33
31.05.2016, 21:01 #11
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<math.h>
#include<conio.h>
#include<stdlib.h>
int main()
{int i,n,mini,sum;
int c,y,max=0;
int a[100];
//vvod kol el massiva
printf("vvedite kol elementov massiva\n");
scanf("%i",&n);
//vvod massiva
printf("vvedite elementi massiva\n");
for(i=0;i<n;i++)
scanf("%i",&a[i]);
//vivod massiva
for(i=0;i<n;i++)
printf(" %3d",a[i]);
printf("\n");
 
       //Г*Г*éäåì Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*ûé ýëåìåГ*ГІ Г¬Г*Г±Г±ГЁГўГ*
    for (i=0;i<(n-1);i++)
      {
        if ((a[i]>=a[i+1])&&(a[i]>=a[max]))
          max=i;
      }
    if (a[n-1]>a[max])
      max=n-1;
    printf("max = %d\n",a[max]);
    //summa el
    if (max!=0)
      {
        sum=0;
        for (i=0;i<max;i++)
          {if (a[i]>0)
          
            sum=sum+a[i];
          }
printf("sum = %d\n",sum);
       }
       
    else
      printf("v promezutke net znachenii\n");
  }
Добавлено через 7 минут
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<math.h>
#include<conio.h>
#include<stdlib.h>
int main()
{int i,n,mini,sum;
int c,y,max=0;
int a[100];
//vvod kol el massiva
printf("vvedite kol elementov massiva\n");
scanf("%i",&n);
//vvod massiva
printf("vvedite elementi massiva\n");
for(i=0;i<n;i++)
scanf("%i",&a[i]);
//vivod massiva
for(i=0;i<n;i++)
printf(" %3d",a[i]);
printf("\n");
 
       //find max element
    for (i=0;i<(n-1);i++)
      {
        if ((a[i]>=a[i+1])&&(a[i]>=a[max]))
          max=i;
      }
    if (a[n-1]>a[max])
      max=n-1;
    printf("max = %d\n",a[max]);
    //summa el
    if (max!=0)
      {
        sum=0;
        for (i=0;i<max;i++)
          {if (a[i]>0)
          
            sum=sum+a[i];
          }
printf("sum = %d\n",sum);
       }
       
    else
      printf("v promezutke net znachenii\n");
  }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2016, 21:01
Привет! Вот еще темы с ответами:

Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой матрицы, отличных от нуля - C++
Даны три квадратные матрицы. Сформировать вектор, состоящий из минимальных элементов каждой матрицы, отличных от нуля. Поиск минимального...

Реализовать умножение матрицы на матрицу и матрицы на вектор - C++
Доброй ночи форумчане,не знаю куда податься уже, я полный ноль в программировании, но дали задание написать на С++ прогу, Задание такое,...

Получить вектор - C++
Получить вектор С по правилу : Ск=1,если в к-ом столбце матрицы есть хотя бы один элемент,превышающийй заданное значение D,иначе Ск=0.Найти...

Создать классы "Вектор" и "Матрица", реализовать умножение матрицы на вектор - C++
Создать классы «Вектор (Строка, столбец)» и «Матрица». Реализовать умножение матрицы на вектор. я задал класс матриц,а как мне задать...


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
31.05.2016, 21:01
Ответ Создать тему
Опции темы

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