Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 21
1

Найти номер максимального по модулю элемента массива

25.02.2011, 18:07. Показов 1409. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прошу переделать данные 3 проргаммы через векторы на С++ builder'e. Заранее Спасибо!

1) Найти номер максимального по модулю элемента массива.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
#include <conio.h>
int main()
{
clrscr();
const int n = 5;
int a[n];
int max=1;
int i;
cout<<"\n vvedite massiv iz "<<n<<" 4isel \n";
for(i=0;i<n;i++)
{cin>>a[i];
if (abs(a[i])>abs(a[max]))
max = i;
}
max++;
cout<<"nomer maksimalnogo raven "<<max;
getch();
return(0);
}

2) Найти сумму элеемнтов, расположенных после первого положительного элемента.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
#include <conio.h>
int main()
{
clrscr();
const int n = 5;
int a[n];
int i,s=0;
cout<<"vvedite massiv iz "<<n<<" 4isel";
for (i=0;i<n;i++)
{
cin>>a[i];
if (a[i]>0)
 
s+=a[i];}
 
cout<<"s= "<<s;
getch();
return(0);
}
и

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
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
#include <conio.h>
int main()
{
clrscr();
const int n = 5;
int a[n];
int i,j=0,c,m,d;
int b[n];
cout<<"vvedite c i d";
cin>>c;
cin>>d;
for (i=0;i<n;i++)
{
cin>>a[i];
if (a[i]>c&&a[i]<d)
{
b[j] = a[i];
j++;
}
}
for(i=0;i<n;i++)
if (a[i]<c||a[i]>d)
{
b[j]=a[i];
j++;
}
for(j=0;j<n;j++)
cout<<setw(3)<<b[j]<<endl;
getch();
return(0);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2011, 18:07
Ответы с готовыми решениями:

Найти номер максимального по модулю элемента массива
В одномерном массиве, состоящем из n действительных элементов, найти 1) номер максимального по...

Найти номер максимального по модулю элемента массива
Доброго времени суток! Дали три задания ня языке Си: 1) В одномерном массиве, состоящем из n...

Вычислить номер максимального по модулю элемента массива
Помогите решить прогу на Си с заданным условием : Скласти алгоритм і програму, яка в одновимірному...

Вычислить номер максимального по модулю элемента массива
в одномерном массиве, состоящем из п вещественных элементов, вычислить: номер максимального по...

2
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
25.02.2011, 18:30 2
2) Не знаю как с STD в билдере
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
#include <functional>
#include <iterator>
 
int main()
{
    using namespace std;
    vector<int> vec((istream_iterator<int>(cin)), istream_iterator<int>());
    vector<int>::iterator iter=find_if(vec.begin(), vec.end(), bind2nd(greater<int>(), 0));
    if(iter == vec.end())
    {
        cout<<"There are no positive elements\n";
        return 1; 
   }
   int sum=accumulate(iter, vec.end(), 0);
   cout<<sum<<'\n';
   return 0;
}
1
Эксперт С++
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
26.02.2011, 03:05 3
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
/////////////////////////////////////////////////////////////////////////////////////////
//Найти номер максимального по модулю элемента массива.
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>
/////////////////////////////////////////////////////////////////////////////////////////
typedef int                 T_num;
typedef std::vector<T_num>  T_nums;
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    std::cout << "Введите элементы массива через пробел "
              << std::endl
              << "(для завершения введите символ конца файла):"
              << std::endl;
    T_nums  nums((std::istream_iterator<T_num>(std::cin)), 
                  std::istream_iterator<T_num>());  
 
    struct  T_mod_compare
    {
        bool  operator() (T_num  L, T_num  R)
        {
            return  abs(L) < abs(R);
        }
    };
 
    T_nums::iterator  find_it 
        = std::max_element(nums.begin(), nums.end(), T_mod_compare());    
 
    std::cout << "Номер максимального по модулю элемента: "
              << std::distance(nums.begin(), find_it) + 1
              << std::endl;
}
Добавлено через 1 час 16 минут
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
/////////////////////////////////////////////////////////////////////////////////////////
//Упорядочить массив таким образом, чтобы в первой части располагались элементы, 
//целая часть которых лежит в интервале от а до б, а затем - все остальные.
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <vector>
/////////////////////////////////////////////////////////////////////////////////////////
typedef int                      T_int_num;
typedef double                   T_real_num;
typedef std::vector<T_real_num>  T_real_nums;
/////////////////////////////////////////////////////////////////////////////////////////
T_real_nums  get_random_real_nums(size_t  size)
{    
    struct  T_gen_random_real_num
    {
        T_real_num  operator()()
        {
            return  rand() % 10000 / 100.0;
        }
    };
 
    T_real_nums  real_nums;
    std::generate_n(std::back_inserter(real_nums), size, T_gen_random_real_num());
    return  real_nums;       
}
/////////////////////////////////////////////////////////////////////////////////////////
void  print_arr(const T_real_nums&  real_nums)
{
    std::copy(real_nums.begin(), real_nums.end(), 
              std::ostream_iterator<T_real_num>(std::cout, "\n"));
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    srand(static_cast<unsigned>(time(0)));
    const size_t REAL_NUMS_SIZE = 15;
    T_real_nums  real_nums(get_random_real_nums(REAL_NUMS_SIZE));
    std::cout << "Исходный массив: "
              << std::endl;
    print_arr(real_nums);
    std::cout << std::endl;
    for(;;)
    {
        std::cout << std::endl
                  << std::endl
                  << std::endl
                  <<     "a        : ";
        int  a = 0;
        std::cin >> a;    
 
        int  b = 0;
        for(;;)
        {
            std::cout << "b (b > a): ";            
            std::cin >> b;
            if(b > a) break;
        }
 
        struct  T_floor_in_ab
        {
            const T_int_num  A_;
            const T_int_num  B_;
            //-------------------------------------------------------------------------------
            T_floor_in_ab(T_int_num  a, T_int_num  b) : A_(a), B_(b)
            {}
            //-------------------------------------------------------------------------------
            bool  operator() (T_real_num  r)
            {
                return    A_       < floor(r) 
                       && floor(r) < B_;
            }
        };
 
        T_real_nums::iterator  part_end_it 
            = std::partition(real_nums.begin(), real_nums.end(), 
                             T_floor_in_ab(a, b));
 
        std::cout << "Массив, уполядоченный так, что в первой части "
                  << "стоят элементы (в количестве "
                  << std::distance(real_nums.begin(), part_end_it)
                  << "),"
                  << std::endl
                  << "целая часть которых лежит в интервале ("
                  << a 
                  << ", "
                  << b
                  << "):"
                  << std::endl;
 
        
        print_arr(real_nums);
        std::cout << std::endl;
    }//for(;;)
}
1
26.02.2011, 03:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2011, 03:05
Помогаю со студенческими работами здесь

Вычислить номер максимального по модулю элемента массива
Помогите решить прогу на Си с заданным условием : Составить алгоритм и программу, которая в...

Вычислить номер максимального по модулю элемента массива
Помогите разобраться с этим. Можете пошагово объяснить, что нужно. Ну или готовый код, чтобы...

Указатели: определить номер максимального по модулю элемента массива
Обращаться к элементам массива необходимо используя указатель. 1. В одномерном массиве, состоящем...

Найти индекс максимального по модулю элемента массива
Помогите пожалуйста, в Си вообще не разбираюсь В одномерном массиве, состоящем из n вещественных...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru