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

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

Восстановить пароль Регистрация
 
KHRONOS
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 5
20.12.2012, 23:57     Функции обработки массива (определить произведение элементов массива, заменить модулем все элементы массива, уничтожить элемент с заданным значением) #1
Вот задания,не могу сделать ни одного из них,буду благодарен за помощь.

Написать функции для выполнения операций над одномерным массивом целых чисел:
• определить произведение элементов массива, которые кратны 3, не кратные 9 и больше 50,
• заменить модулем все элементы массива после второго положительного,
• уничтожить элемент с заданным значением.

Вот код с неполным 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
46
47
48
49
50
51
52
#include <iostream>
 
using namespace std;
 
void Input ( int n, int*a )
{
 int i;
 for (i=0;i<n;i++)
 {
  std :: cout << "Input element number " << i+1 <<":";
  std :: cin >> a[i];
 
 }
}
 
int dob_elem ( int n, int*a )
{
    int i, dob = 1;
    for(i=0; i<n; i++)
    {
        if(i%3)
        dob*=a[i];
    }
    return dob;
}
 
 
 
void Output ( int n, int*a )
{
   int i;
   std :: cout << "You input this element's:";
        for (i=0;i<n;i++)
    std :: cout << a[i] << " ";
    std :: cout << std::endl;
}
 
 
int main ()
{
 cout << "How many element's? :";
 int n;
 cin >> n;
 int*a = new int [n];
 Input ( n, a );
 Output ( n, a );
 
 cout << "Dobtok of your array is:" << dob_elem(n, a);
 cin.get ();
 cin.get ();
 return 0;
}
Добавлено через 8 минут
так,первое сделал
C++
1
2
3
4
5
6
7
8
9
10
11
12
int dob_elem ( int n, int*a )
{
    int i, dob = 1;
    for(i=0; i<n; i++)
    {
        if((a[i]%3 == 0) || ((a[i]%9)==0) ||  (a[i] >50))
        {
        dob*=a[i];
        }
    }
    return dob;
}
Добавлено через 33 секунды
заменить модулем все элементы массива после второго положительного.
а вот как это сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 23:57     Функции обработки массива (определить произведение элементов массива, заменить модулем все элементы массива, уничтожить элемент с заданным значением)
Посмотрите здесь:

Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента C++
C++ Заменить все элементы массива большие чем "a" значением максимального элемента этого массива
Уничтожить все элементы больше среднего арифметического элементов массива C++
C++ Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы
Каждый из элементов массива заменить средним значением первых элементов этого массива. C++
C++ Каждый из элементов x[SUB]i[/SUB] массива X(n) заменить средним значением первых i элементов этого массива
Каждый элемент массива A[k] заменить средним значением первых k элементов массива C++
C++ Заменить все элементы массива, находящиеся в интервале (L, R), на наибольший элемент массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Algiz
159 / 159 / 13
Регистрация: 23.02.2011
Сообщений: 347
21.12.2012, 00:12     Функции обработки массива (определить произведение элементов массива, заменить модулем все элементы массива, уничтожить элемент с заданным значением) #2
2.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#define len 50
 
int main(){
    int a[len];
    /* заполни массив как нибудь */
    int count = 0;
    for(int i=0; i<len; ++i){
        count += a[i] > 0;
        a[i] = (count >= 2 && a[i] < 0)? -a[i]: a[i];
        std::cout << a[i] << ' ' << std::endl;
    }
    return 0;
}
Добавлено через 6 минут
3.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#define DESTROY(a) a = 0
 
using namespace std;
 
int main(){
    cout << "input size and elem to destroy\n";
    int sz, e;
    cin >> sz >> e;
    int *a = new int[sz];
    for(int i=0; i<sz; ++i)
        cin >> a[i];
    for(int i=0; i<sz; ++i){
        if (a[i] == e)
            DESTROY(a[i]);
        cout << a[i] << ' ';
    }
    cout << endl;
    delete a;
    return 0;
}
Yandex
Объявления
21.12.2012, 00:12     Функции обработки массива (определить произведение элементов массива, заменить модулем все элементы массива, уничтожить элемент с заданным значением)
Ответ Создать тему
Опции темы

Текущее время: 17:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru