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

Задача на массивы c++ - C++

Восстановить пароль Регистрация
 
Анюточка93
 Аватар для Анюточка93
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 6
25.11.2013, 10:41     Задача на массивы c++ #1
В одномерном массиве, состоящем из n целых элементов, вычислить:
1) номер максимального элемента массива;
2) произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине - элементы, стоявшие в четных позициях.


p.s. помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2013, 10:41     Задача на массивы c++
Посмотрите здесь:

задача на массивы C++
Задача на массивы. C++
C++ Задача на массивы
Задача на массивы C++
задача на массивы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
25.11.2013, 12:10     Задача на массивы c++ #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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
#define N 20
 
int main(int argc, char* argv[])
{
    int A[N+1] = { 4, 5, 6, 9, 1, 0, 8, 3, 2, 4, 6, 9, 0, 8, 7, 4, 6, 5, 3, 4 };
 
    for (int z = 0; z < N; z++)
        printf("%d ",A[z]);
 
    printf("\n");
 
    int max = 0;
    for (int k = 0; k < N; k++)
        if (A[k] > A[max]) max = k;
 
    printf("A[%d] = %d\n",max,A[max]);
 
    for (int v = 0; v < N; v++)
    {
        int mul = 1, t = v+1;
        while (A[t] != 0 && t < N && A[v] == 0)
            mul*=A[t++];
 
        if (A[v] == 0 && t < N)
            printf("mul = %d\n",mul);
    }
 
    int n = 0;
    for (int i = 1; i < N && n < N/2; i++)
    {
        for (int r = N-1; r >= n && i % 2; r--)
            A[r+1] = A[r];
 
        int val = A[i+1];
        for (int t = i+1; t < N+1 && i % 2; t++)
            A[t] = A[t+1];
 
        if (i % 2) A[n++] = val;
    }
 
    for (int s = 0; s < N; s++)
        printf("%d ",A[s]);
 
    printf("\n");
 
    _getch();
 
    return 0;
}
http://codepad.org/IUMB5YnX
Миниатюры
Задача на массивы  c++  
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
25.11.2013, 12:27     Задача на массивы c++ #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
#include <algorithm>
#include <numeric>
#include <functional>
#include <iostream>
#include <iterator>
 
template < typename T >
class toggle : public std::unary_function<T, bool>
{
    int i;
public:
    toggle() : i(0)
    {
    }
 
    bool operator () (const T& value)
    {
        return ++i & 1;
    }
};
 
int main()
{
    int a[] = { 1, 2, 0, 3, 4, 0, 5, 6 };
    std::cout << "Max number position: " 
              << 1 + std::distance(std::begin(a), 
                                   std::max_element(std::begin(a), 
                                                    std::end(a)))
              << std::endl;
    int* first_zero = std::find(std::begin(a), std::end(a), 0);
    int* second_zero = first_zero;
    if (first_zero != std::end(a))
    {
        std::advance(first_zero, 1);
        std::advance(second_zero, 1);
        second_zero = std::find(second_zero, std::end(a), 0);
    }
    std::cout << "Mul between first and second zero elements: " << 
        std::accumulate(first_zero, second_zero, 1, std::multiplies<int>()) << std::endl;
    std::stable_partition(std::begin(a), std::end(a), toggle<int>());
    std::copy(std::begin(a), std::end(a), std::ostream_iterator<int>(std::cout, " "));
}
http://ideone.com/lin3El
Анюточка93
 Аватар для Анюточка93
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 6
25.11.2013, 19:58  [ТС]     Задача на массивы c++ #4
Мальчишки, огромное спасибо ^_^, можно у вас ещё кое что спросить?
что должно быть в курсовом\реферате по этой задаче, просто мне преподаватель сказал написать, а как не объяснил.

p.s. я заочница(
Yandex
Объявления
25.11.2013, 19:58     Задача на массивы c++
Ответ Создать тему
Опции темы

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