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

Вычислить сумму всех положительных элементов массива и произведение отрицательных элементов

19.11.2017, 18:17. Просмотров 1683. Ответов 7
Метки нет (Все метки)

Задание:
Ввести с клавиатуры целое число K(от 6 до 15). Ввести с клавиатуры массив K элементов целого типа. Вычислить сумму всех положительных элементов массива и произведение отрицательных элементов и заменить этими числами первый и последний элементы массива.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
 
int main()
{
int k,i,s,p,MAS[15];
printf("Enter the whole number 6 do 15:\n");
scanf("%d",&k);
printf("Complete massiv of %d elements:",k);
for (i=0;i<=k-1;i++){
printf("\nMAS[%d] = ",i+1);
scanf("%d",&MAS[i]); }
for (i=0;i<=k-1;i++){
if (MAS[i]>0) s=MAS[i]; //как задать здесь формулу, чтобы считалась сумма всех положительных элементов
else p=MAS[i]; }  //как задать здесь формулу, чтобы считалась произведение всех отрицательных элементов
getch();
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.11.2017, 18:17
Ответы с готовыми решениями:

В одномерном массиве вычислить сумму отрицательных элементов массива и произведение положительных
Есть задание: В одномерном массиве, состоящем из n вещественных элементов, вычислить: сумму...

Вычислить сумму модулей элементов массива\произведение отрицательных элементов матрицы
1. В одномерном массиве, состоящем из N целых элементов, вычислите сумму модулей элементов...

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

В одномерном массиве из 10 элементов найти сумму всех элементов и произведение всех положительных элементов
В одномерном массиве из 10 элементов найти сумму всех элементов и произведение всех положительных...

7
1265 / 1023 / 469
Регистрация: 25.12.2016
Сообщений: 3,331
19.11.2017, 18:26 2
s += MAS[i];
p *= MAS[i];
1
13 / 13 / 13
Регистрация: 05.07.2011
Сообщений: 233
19.11.2017, 18:30 3
makson4ik,
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
int main()
{
    int k, i, s, p, *MAS;
    k = 0; i = 0; s = 0; p = 0;
 
    printf("Enter the whole number 6 do 15:\n");
    scanf("%d",&k);
    MAS = (int*) malloc(k * sizeof(int));
    memset(MAS, 0, k * sizeof(int));
    printf("Complete massiv of %d elements:",k);
 
    for (i = 0;i <= k-1;i++){
        printf("\nMAS[%d] = ",i+1);
        scanf("%d",&MAS[i]);
     }
    for (i=0;i <= k-1;i++){
        if (MAS[i]>0)
            s += MAS[i]; 
        else 
            p *= MAS[i]; 
    }  
free(MAS);
return 0;
}
0
0 / 0 / 0
Регистрация: 12.11.2017
Сообщений: 28
19.11.2017, 18:43  [ТС] 4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>
 
int main()
{
int k,i,s,p,MAS[15];
printf("Enter the whole number 6 do 15:\n");
scanf("%d",&k);
printf("Complete massiv of %d elements:",k);
for (i=0;i<=k-1;i++){
printf("\nMAS[%d] = ",i+1);
scanf("%d",&MAS[i]); }
for (i=0;i<=k-1;i++){
if (MAS[i]>0) s+=MAS[i];
else p*=MAS[i]; }
MAS[0]=s;
MAS[max]=p;
printf("\s=%d,p=%d", s,p);
for (i=0;i<=k-1;i++){
printf("\nMAS[%d] = %d",i+1,MAS[i]);
getch();
return 0;
}
Как обозначить в 17 строчке последний элемент, потому что ведь может быть массив из 15 элементов, а может и из 7...
0
13 / 13 / 13
Регистрация: 05.07.2011
Сообщений: 233
19.11.2017, 18:51 5
makson4ik, для этого я и прислал свой код, чтобы Вы ознакомились с динамическим созданием массива в процессе работы программы.
0
0 / 0 / 0
Регистрация: 12.11.2017
Сообщений: 28
19.11.2017, 19:37  [ТС] 6
likehood, Setplus
Добавлено через 18 минут
Где тут ошибка может быть? Элементы массива совпадают все, кроме 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
#include <stdio.h>
#include <conio.h>
 
int main()
{
int k,i,s,p,MAS[15];
printf("Enter the whole number 6 do 15:\n");
scanf("%d",&k);
printf("Complete massiv of %d elements:",k);
for (i=0;i<=k-1;i++){
printf("\nMAS[%d] = ",i+1);
scanf("%d",&MAS[i]); }
for (i=0;i<=k-1;i++){
if (MAS[i]>0) s+=MAS[i];
else p*=MAS[i]; }
MAS[0]=s;
MAS[k-1]=p;
printf("\s=%d,p=%d", s,p);
for (i=0;i<=k-1;i++){
printf("\nMAS[%d] = %d",i+1,MAS[i]); }
getch();
return 0;
}
0
13 / 13 / 13
Регистрация: 05.07.2011
Сообщений: 233
19.11.2017, 20:24 7
Лучший ответ Сообщение было отмечено makson4ik как решение

Решение

makson4ik, Вы принципиально проигнорировали те поправки в коде, которые я указал?

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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
 
int main()
{
    int k,i,s,p,MAS[15];
    
    // задавайте заранее занчение элементов
    k = 0; i = 0; s = 0; p = 1;
    memset(MAS, 0, 15 * sizeof(int));
    
    printf("Enter the whole number 6 do 15:\n");
    scanf("%d",&k);
    printf("Complete massiv of %d elements:",k);
    for (i = 0;i <= k-1;i++){
        printf("\nMAS[%d] = ",i+1);
        scanf("%d",&MAS[i]); 
    }
    for (i=0;i<=k-1;i++){
            if (MAS[i]>0)
                s += MAS[i];
            else
                p *= MAS[i]; 
    }
    MAS[0] = s;
    MAS[k-1] = p;
    printf("\s=%d,p=%d", s,p);
    for (i=0;i<=k-1;i++)
    printf("\nMAS[%d] = %d",i+1,MAS[i]); 
    getch();
return 0;
}
0
1265 / 1023 / 469
Регистрация: 25.12.2016
Сообщений: 3,331
19.11.2017, 21:08 8
Лучший ответ Сообщение было отмечено makson4ik как решение

Решение

Цитата Сообщение от makson4ik Посмотреть сообщение
Где тут ошибка может быть?
Не заданы начальные значения s и p.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2017, 21:08

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

Вычислить сумму положительных и отрицательных элементов массива
Вычислить Z=(S1+S2)/2, где S1 – сумма положительных элементов массива X(50), а S2 – сумма...

Вычислить произведение положительных элементов массива и сумму до минимального элемента (с/без указателей)
В одномерном массиве n вещественных элементов. вычислить: -произведение положительных элементов...

Найти произведение и количество отрицательных, и сумму и количество положительных элементов массива
В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) произведение и...

Подсчитать число и сумму положительных, число и произведение отрицательных элементов заданного массива
Здравствуйте. Пожалуйста помогите решить следующие задачи: 1. Подсчитать число и сумму...


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

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

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