Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 29
1

Для каждого вектора найти разницу между модулями сумм положительных и отрицательных элементов.

03.04.2016, 20:22. Просмотров 958. Ответов 2
Метки нет (Все метки)


Здравствуйте!Прошу Вашей помощи,написал программу,все работает,но надо ее переделать как на скрине,т.е элементы задаются сразу,без цикла.У самого не получается переделать=(
Сама задача заключается в том,что дано три вектора A,B,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
#include "stdafx.h"
#include <locale.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
void vvod(int *x, int n, char name)
{
printf("\nВектор %c:\n\n", name);
for (int i = 0; i<n; i++)
{
printf("Введите элемент вектора № %d: ", i);
scanf_s("%d", &x[i]);
}
}
 
void raznica(int *x, int n, char name)
{
int pol = 0;
int otr = 0;
int razn;
for (int i = 0; i<n; i++)
{
    if (x[i] > 0 ) {pol += x[i];}
    else {otr += x[i];}
}
razn = (abs(pol))-(abs(otr));
printf("Сумма положительных элементов %c: %d\n", name, pol );
printf("Сумма отрицательных элементов %c: %d\n", name, otr );
printf("Разница %d\n",abs(razn));
} 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian");
const int q = 3, w = 3, e = 3;
int A[q], B[w], C[e];
 
vvod(A, q, 'A');
vvod(B, w, 'B');
vvod(C, e, 'C');
 
raznica (A, q, 'A');
raznica (B, w, 'B');
raznica (C, e, 'C');
 
_getch(); 
return 0;
}
0
Миниатюры
Для каждого вектора найти разницу между модулями сумм положительных и отрицательных элементов.  
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2016, 20:22
Ответы с готовыми решениями:

Найти разницу между количеством положительных и отрицательных значений функции
y = ln (sin (v) + cos (u)), u принадлежит промежуток , v принадлежит проиижок , h (u) = 0.25, h...

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

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

Найти разницу между средним арифметическим положительных и отрицательных элементов столбцов с нечётными номерами матрицы
Доброго времени суток! Ребята, подскажите пожалуйста, что это за бредятина и чего хочет от меня...

2
69 / 69 / 55
Регистрация: 17.11.2015
Сообщений: 150
03.04.2016, 20:41 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include "stdafx.h"
#include <locale.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
 
#define N 3 //размер массива
 
void raznica(int *x, int n, char name)
{
int pol = 0;
int otr = 0;
int razn;
for (int i = 0; i<n; i++)
{
    if (x[i] > 0 ) {pol += x[i];}
    else {otr += x[i];}
}
razn = (abs(pol))-(abs(otr));
printf("Сумма положительных элементов %c: %d\n", name, pol );
printf("Сумма отрицательных элементов %c: %d\n", name, otr );
printf("Разница %d\n",abs(razn));
} 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian");
int A[N]={15,16,17},
    B[N]={1,2,3},
    C[N]={21,22,23};
 
 
raznica (A, N, 'A');
raznica (B, N, 'B');
raznica (C, N, 'C');
 
_getch(); 
return 0;
}
0
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 29
03.04.2016, 21:30  [ТС] 3
Спасибо,работает!
У меня еще один вопрос,как сделать,чтобы результат(разницу) выводило не так:
C++
1
printf("Разница %d\n",abs(razn));
,а как в примере? Я попробовал сделать,не работает
0
Миниатюры
Для каждого вектора найти разницу между модулями сумм положительных и отрицательных элементов.  
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2016, 21:30

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

В матрице размером m x n для каждой строки подсчитать разницу между числом положительных и отрицательных элементов.
Помогите пожалуйста написать программу. В матрице размером m x n для каждой строки подсчитать...

Найти разницу между количеством положительных и отрицательных значений функции
y=ln(sin(v)+cos(u)), u, v, hu=0.25, hv=0.25 Найти разницу между количеством положительных и...

Найти количество положительных и отрицательных элементов для каждого из массивов.
. Даны массивы вещественных чисел A и B с одинаковым количеством элементов. Найти количество...

Из суммы положительных элементов вектора вычесть сумму отрицательных, найти наибольший элемент вектора
Не знаю с чего начать решение задачи, плохо понимаю в программировании. Помогите пожалуйста решить...


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

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

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