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

Массив через функцию - C++

Восстановить пароль Регистрация
 
Greed_Dimon
0 / 0 / 0
Регистрация: 25.12.2011
Сообщений: 11
28.01.2012, 07:06     Массив через функцию #1
Всем привет!!!Помогите пожалуйста решить задачку!!!

Дан массив. Найти номера всех элементов с минимальным и максимальным значением!!!решить нужно через функцию...

Заранее благодарен!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
28.01.2012, 11:37     Массив через функцию #2
C++
1
2
3
4
5
void max_index(std::vector<int> v, std::vector<int> &res)
{
    for ( auto it = std::find(v.begin(), v.end(), std::max_element(v.begin(), v.end()))  ; it != v.end() ; it = std::find(++it, v.end(), std::max_element(v.begin(), v.end())) )
        res.push_bach(*it);
}
Для мин сами
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
28.01.2012, 12:10     Массив через функцию #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 <stdio.h>
 
#define N 10
 
int minmax_idx(const int* a, int* res)
{
    int i, j;
    int imin = 0, imax = 0;
 
    for(i = 1; i < N; ++i)
    {
        if(a[i] > a[imax]) imax = i;
        else if(a[i] < a[imin]) imin = i;
    }
 
    j = 0;
    for(i = imin < imax? imin : imax; i < N; ++i)
        if(a[i] == a[imin] || a[i] == a[imax])
            res[j++] = i;
 
    return j;
}
 
int main()
{
    int i, n;
    int a[N], res[N];
 
    for(i = 0; i < N; ++i)
    {
        printf("[%d\\%d]: ", i + 1, N);
        scanf("%d", &a[i]);
    }
 
    n = minmax_idx(a, res);
 
    printf("----------\n");
    for(i = 0; i < n; ++i)
        printf("[%d]: %d\n", i + 1, res[i] + 1);
 
    return 0;
}
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
28.01.2012, 17:53     Массив через функцию #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
24
25
26
27
28
29
30
31
#include <iostream>
#include <valarray>
 
void Funk(int n[], int nn);
 
int main() 
{
    using namespace std;
    setlocale(LC_ALL, "rus");
 
    int mass[10] = { 4,5,2,6,55,23,5,2,4,1 };
 
    Funk(mass,10);
 
    system("pause");
    return 0;
}
 
void Funk(int n[], int nn)
{
    std::valarray<int> a(n,nn);
 
    for(int i=0; i<nn; i++)
    {
        if(a[i] == a.max())
            std::cout << "Максимальный эллемент: " << a.max() << ", находится в mass[" << i << "].\n";
        if(a[i] == a.min())
            std::cout << "Минимальный эллемент: " << a.min() << ", находится в mass[" << i << "].\n";
    }
 
}
Миниатюры
Массив через функцию  
Yandex
Объявления
28.01.2012, 17:53     Массив через функцию
Ответ Создать тему
Опции темы

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