Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Optimus
0 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 7
1

Найти произведение положительных/отрицательных элементов массива

22.01.2011, 15:08. Просмотров 719. Ответов 6
Метки нет (Все метки)

нужно написать маленькие проги)такие как..
1)среднее арифм. +/- элементов в одномер.массиве
2)минимальный/максимальный элемент +/- элементов массива(одномерный)
3)произведение +/- элементов массива))
и кому не лень все тож самое только с двумерными))у меня вечно ошибочки выдает или "не удается найти указанный файл"
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2011, 15:08
Ответы с готовыми решениями:

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

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

Найти сумму отрицательных элементов массива и произведение положительных
Создать одномерный целочисленный массив на 100 элементов. Найти сумму...

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

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

6
NiRamz
211 / 211 / 33
Регистрация: 26.12.2010
Сообщений: 691
22.01.2011, 15:38 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

3.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main(){
    int mas[] = {1,2,3,4,5,6,7,8,9,10};
    int result=1;
    for(int i=0; i<sizeof(mas)/sizeof(mas[0]);i++){
        result *= mas[i];
    }
    std::cout << result << '\n';
    system("pause");
};
Добавлено через 2 минуты
второе задание, минимальный среди положительных и максимальный среди отрицательных?так?
если да.
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
#include <iostream>
 
int main(){
    int mas[] = {-1,-2,-3,-4,5,6,7,8,9,10};
    int maxo,minp,nol=0;
 
    for(int i=0; i<sizeof(mas)/sizeof(mas[0]);i++){
        if(mas[i]<nol){
            maxo=mas[i];}
        if(mas[i]>nol){
            minp=mas[i];}
    }
    for(int i=0; i<sizeof(mas)/sizeof(mas[0]);i++){
        if(mas[i] > maxo && mas[i] < nol){
            maxo = mas[i];}
        if(mas[i] < minp && mas[i] > nol){
            minp = mas[i];}
    }
 
    std::cout << "Max otr: "<< maxo << '\n';
    std::cout << "Min pol: "<< minp << '\n';
 
    system("pause");
};
Добавлено через 18 минут
1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main(){
    int mas[] = {-1,-2,-3,-4,5,6,7,8,9,10};
    float sum=0,kol=0;
    float srarif;
    for(int i=0; i<sizeof(mas)/sizeof(mas[0]);i++){
        sum += mas[i];
        kol++;
    }
    srarif = sum/kol;
 
    std::cout << srarif << '\n';
    system("pause");
};
1
Optimus
0 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 7
22.01.2011, 16:00  [ТС] 3
ты не совсем правильно понял
минимум или максимум среди отрицательных или положительных)и ты кажется на си ++ пишешь..а мне нужен си
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
22.01.2011, 16:09 4
Такие все требовательные пошли, хоть бы частично что скинул, а уважаемая публика на форуме поправила, помогла бы, а так - стандартная расценка твоих задач ~300 рублей в любой частной "фирмочке"(у меня в городе Томск). Халяфка
0
NiRamz
211 / 211 / 33
Регистрация: 26.12.2010
Сообщений: 691
22.01.2011, 16:11 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main(){
        int mas[] = {-1,-2,-3,-4,5,6,7,8,9,10};
        int max,min;
        max = mas[0];
        min = mas[0];
 
        for(int i=0; i<sizeof(mas)/sizeof(mas[0]);i++){
            if(max < mas[i]){
                max = mas[i];}
            if(min > mas[i]){
                min = mas[i];}
        }
        std::cout << "Max: "<< max << '\n';
        std::cout << "Min: "<< min << '\n';
        system("pause");
};
да с++. что чистому с не нравится?
0
Optimus
0 / 0 / 0
Регистрация: 22.01.2011
Сообщений: 7
22.01.2011, 16:28  [ТС] 6
NiRamz ,спасибо конечно,братан))но училка меня за такое убьет))у меня си++ только со второго сема)
0
Vandris
63 / 63 / 28
Регистрация: 19.01.2011
Сообщений: 94
22.01.2011, 17:08 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от NiRamz Посмотреть сообщение
да с++. что чистому с не нравится?
наверно отсутствие в нем хедера iostream, да и всего stl заодно =)

2Optimus, вот тебе на чистом С... все 3 задачи в одной, реализация в виде функций, если что просто создашь 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
#include <conio.h>
 
int findMaxPos (int*, int);
int findMinPos (int*, int);
int findMaxNeg (int*, int);
int findMinNeg (int*, int);
int findAveragePos (int*, int);
int findAverageNeg (int*, int);
double findMultiplyPos (int*, int);
double findMultiplyNeg (int*, int);
 
int main()
{
    int array[20], i;
    setlocale(2, ".1251");
    srand(time(NULL));
    printf("Исходный массив:\n");
    for (i = 0; i < 20; i++)
    {
        array[i] = 50 - rand() % 100;
        printf("%d ", array[i]);
    }
    printf("\n\nМаксимальный элемент среди всех положительных: %d", findMaxPos(array, 20));
    printf("\nМинимальный элемент среди всех положительных: %d", findMinPos(array, 20));
    printf("\nМаксимальный элемент среди всех отрицательных: %d", findMaxNeg(array, 20));
    printf("\nМинимальный элемент среди всех отрицательных: %d", findMinNeg(array, 20));
 
    printf("\nСреднее арифметическое среди всех отрицательных: %d", findAverageNeg(array, 20));
    printf("\nСреднее арифметическое среди всех положительных: %d", findAveragePos(array, 20));
    printf("\nПроизведение всех отрицательных: %.0f", findMultiplyNeg(array, 20));
    printf("\nПроизведение всех положительных: %.0f", findMultiplyPos(array, 20));
    getch();
    return 0;
}
 
int findMaxPos(int *arr, int n)
{
    int i, max = arr[0];
    for (i = 0; i < n; i++)
    {
        if (arr[i] > 0 && arr[i] > max)
            max = arr[i];
    }
    return max;
}
 
int findMinPos(int *arr, int n)
{
    int i, min = arr[0];
    for (i = 0; i < n; i++)
    {
        if (arr[i] > 0 && arr[i] < min)
            min = arr[i];
    }
    return min;
}
 
int findMaxNeg(int *arr, int n)
{
    int i, max = arr[0];
    for (i = 0; i < n; i++)
    {
        if (arr[i] < 0 && arr[i] > max)
            max = arr[i];
    }
    return max;
}
 
int findMinNeg(int *arr, int n)
{
    int i, min = arr[0];
    for (i = 0; i < n; i++)
    {
        if (arr[i] < 0 && arr[i] < min)
            min = arr[i];
    }
    return min;
}
 
int findAveragePos(int *arr, int n)
{
    int result = 0, count = 0, i;
    for (i = 0; i < n; i++)
    {
        if (arr[i] > 0)
        {
            result += arr[i];
            count++;
        }
    }
    return result /= count;
}
 
int findAverageNeg(int *arr, int n)
{
    int result = 0, count = 0, i;
    for (i = 0; i < n; i++)
    {
        if (arr[i] < 0)
        {
            result += arr[i];
            count++;
        }
    }
    return result /= count;
}
 
double findMultiplyPos(int *arr, int n)
{
    double result = 1;
    int i;
    for (i = 0; i < n; i++)
        if (arr[i] > 0)
            result *= arr[i];
    return result;
}
 
double findMultiplyNeg(int *arr, int n)
{
    double result = 1;
    int i;
    for (i = 0; i < n; i++)
        if (arr[i] < 0)
            result *= arr[i];
    return result;
}
1
22.01.2011, 17:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2011, 17:08

Среднее арифметическое положительных элементов массива, произведение и количество отрицательных элементов
в массиве X найти среднее арифметическое положительных элементов массива,...

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

Сортировка по возрастанию, сумма положительных и произведение отрицательных элементов массива
#include &lt;stdio.h&gt; #include &lt;iostream.h&gt; main() { static float a; ...


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

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

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