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

Массивы - C++

Восстановить пароль Регистрация
 
Kizuru
0 / 2 / 0
Регистрация: 18.06.2011
Сообщений: 25
19.06.2011, 00:53     Массивы #1
Написать функции:

1. Заполнение генератором в заданном диапазоне(принимает массив, размер, диапазон для генератора).
2. Вывод на экран содержимого массива(массив, размер).
3. Сортировка(массив, размер, тип(возрастание убывание)).
4. Поиск минимального((массив, размер)).
5. Поиск максимального(массив, размер).
6. Сумма элементов(массив, размер).

Перегрузить эти функции для работы с двумерными массивами.

Проиллюстрировать работа этих функций на примере.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2011, 00:53     Массивы
Посмотрите здесь:

массивы C++
C++ массивы
Массивы C++
массивы C++
Массивы в С++ C++
Массивы C++ C++
массивы в С++ C++
C++ Массивы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silentnuke
Android Programmer
137 / 138 / 5
Регистрация: 08.12.2010
Сообщений: 421
19.06.2011, 02:51     Массивы #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
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
#include <iostream>
#include <time.h>
using namespace std;
 
void Fill(int *mass, int n, int lb, int ub)
{
    for (int i=0;i<n;++i)
        mass[i]=lb+rand()%(ub-lb+1);
}
void Show(int *mass, int n)
{
    for (int i=0;i<n;++i)
        cout<<mass[i]<<" ";
    cout<<endl;
}
int Min(int *mass, int n)
{
    int min=0;
    for (int i=1;i<n;++i)
        if(mass[min]>mass[i]) 
            min=i;
    return mass[min];
}
int Max(int *mass, int n)
{
    int max=0;
    for (int i=1;i<n;++i)
        if(mass[max]<mass[i]) 
            max=i;
    return mass[max];
}
void Sort(int *mass, int lb, int ub) {
 
    long i = lb, j = ub;        
    int temp, p;
    p = mass[(lb+ub)/2];
    do{
        while ( mass[i] < p ) ++i;
        while ( mass[j] > p ) --j;
        if (i <= j){
            temp = mass[i];
            mass[i] = mass[j];
            mass[j] = temp;
            ++i;
            --j;
        }
    }while ( i<=j );
    if(lb<j)Sort(mass, lb, j);
    if(i<ub)Sort(mass, i, ub);
}
int Sum(int *mass, int n)
{
    int sum=0;
    for (int i=0;i<n;++i)
        sum+=mass[i];
    return sum;
}
int main()
{
    srand(time(NULL));
    int const n=20, m=2;
    cout<<"mass["<<m<<"]["<<n<<"]\n";
    int mass[m][n]={0};
    Fill(&mass[0][0],m*n,5,20);
    cout<<"non sorted\n";
    Show(&mass[0][0],m*n);
    Sort(&mass[0][0],0,m*n-1);
    cout<<"\nsorted\n";
    Show(&mass[0][0],m*n);
    cout<<"min="<<Min(&mass[0][0],m*n)<<" max="<<Max(&mass[0][0],m*n)<<" sum="<<Sum(&mass[0][0],m*n)<<endl;
 
    cout<<"mass["<<m<<"]\n";
    int mass2[m]={0};
    Fill(mass2,m,5,20);
    cout<<"non sorted\n";
    Show(mass2,m);
    Sort(mass2,0,m-1);
    cout<<"\nsorted\n";
    Show(mass2,m);
    cout<<"min="<<Min(mass2,m)<<" max="<<Max(mass2,m)<<" sum="<<Sum(mass2,m)<<endl;
}
Yandex
Объявления
19.06.2011, 02:51     Массивы
Ответ Создать тему
Опции темы

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