Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
alex88fcsr
0 / 0 / 0
Регистрация: 22.03.2015
Сообщений: 10
1

Сформировать вектор из положительных элементов матрицы

02.04.2015, 18:30. Просмотров 302. Ответов 0
Метки нет (Все метки)

Добрый вечер всем! Попалась такая задача: дана матрица 4*3, содержащая нулевые, положительные, отрицательные элементы, и через функции надо
1) посчитать сумму положительных элементов
2) произведение отрицательных элементов
3)сформировать вектор из положительных элементов, если сумма 1) больше чем произведение 2), иначе сделать вектор из отрицательных элементов
Написал вот такую программу, но что делать с 3) не понимаю:
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
#include <stdio.h>
 
void printarr (int a[4][3])
    {
     for (int i=0;i<4;i++)
     {
         printf("\n");
         for (int j=0;j<3;j++)
         {
             printf(" %d \t",a[i][j]);
         }
     }
}
 
 
void sumarr(int a[4][3], int sumt)
{
    for (int i=0; i<4; i++)
        for (int j=0; j<3; j++)
            if(a[i][j]>0)
                sumt+=a[i][j];
    printf("\n\n Summa polozhitelnih elementov= %d",sumt);
}
 
void proizarr(int a[4][3], int proizv)
{
    for (int i=0; i<4; i++)
        for (int j=0; j<3; j++)
            if(a[i][j]<0)
                proizv*=a[i][j];
    printf("\n\n Proizvedenie otricatelnih elementov= %d",proizv);
}
 
int arr[4][3]={2, -3, 0 ,8, 2, 5, -3, 2, 7, -1, 0, -6};
int main()
{
    int counter=0;
    int fiop=0;
    int sumt=0;
    int proizv=1;
        printarr(arr);
        sumarr(arr, sumt);
    proizarr(arr, proizv);
    
    return 0;
}


Пробовал через такую функцию, но ничего не получается:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void vectorarr(int a[4][3], int proizv, int sumt)
 
    {
    if (sumt>proizv)
        {
    printf("\nVector iz polozh elementov:\n");
    for (int i=0; i<4; i++)
    for(int j=0;j<3;j++)
    if (a[i][j]>0) 
        printf("%3d ", a[i][j]);
    }   
    else
    {
    printf("\nVector iz otric elementov:\n");
    for (int i=0; i<4; i++)
    for(int j=0;j<3;j++)
    if (a[i][j]<0) 
        printf("%3d ", a[i][j]);}
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2015, 18:30
Ответы с готовыми решениями:

Сформировать вектор из элементов матрицы
Даны натуральное число n, целочисленная квадратная матрица порядка n. Получить...

Сформировать вектор из максимальных элементов каждой строки матрицы
Задача: Дана матрица A целых чисел. Сформировать вектор В из максимальных...

Сформировать вектор из элементов, расположенных выше главной диагонали матрицы
1 Дана матрица А(5,5). Сформировать вектор из элементов, расположенных выше...

Сформировать вектор из количеств элементов i-ой строки матрицы, отсутсвующих в (i+1)-ой строке
Здравствуйте , у меня возникла проблема, выдали задание а я не знаю как делать...

Сформировать массив из положительных элементов матрицы
Дана матрица А размером М х N. Необходимо сформировать одномерный массив из...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2015, 18:30

Сформировать вектор из суммы наибольших и наименьших значений элементов столбцов матрицы
Добрый день. Помогите, пожалуйста. Задана квадратная матрица размером N x...

Сформировать вектор: значения первых отрицательных элементов в каждом столбце исходной матрицы
Дана вещественная матрица размера M x N. Сформировать вектор b, в котором...

Найти количество положительных элементов каждого столбца матрицы В(5,6). Результат записать в вектор К(6)
Найти количество положительных элементов каждого столбца матрицы В(5,6)....


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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