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

Найти минимальное и максимальное значение массива, поменять их местами - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 5.00
Forever Fallen
0 / 0 / 0
Регистрация: 28.03.2010
Сообщений: 25
27.04.2011, 09:28     Найти минимальное и максимальное значение массива, поменять их местами #1
1)Сгенерировать массив из 10 вещественных элементов, лежащих в диапазоне от -20 до 20. Найти минимальное и максимальное значение массива, поменять их местами.

2)Найти значение выражения (3*6!)/ (3!+4*7!) (дробь)

определив функцию расчета факториала натурального числа.

3)дан массив a из 30 целых чисел. Составить массив b следующим образом: b[1]=a[30], b[2]=a[29], b[3]=a[28],..., b[30]=a[1]

помогите кто может - тему проболел и самому в массивах разобраться сложно а сдавать в конце недели!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2011, 09:28     Найти минимальное и максимальное значение массива, поменять их местами
Посмотрите здесь:

C++ 3. Найти и поменять местами элементы, имеющие минимальное и максимальное значения в массиве.
C++ В массиве поменять местами его максимальное и минимальное значения
C++ задача на массив (поменять местами максимальное и минимальное значение)
Не могу поменять в матрице максимальное значение на минимальное.С++ C++
вывести максимальное и минимальное значение из массива C++
Найти максимальное и минимальное значение C++
C++ Как исключить из массива минимальное и максимальное значение
C++ Найти максимальное и минимальное значение элементов массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
27.04.2011, 10:35     Найти минимальное и максимальное значение массива, поменять их местами #2
Цитата Сообщение от Forever Fallen Посмотреть сообщение
и самому в массивах разобраться сложно
Это все.. конец.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
27.04.2011, 11:25     Найти минимальное и максимальное значение массива, поменять их местами #3
Цитата Сообщение от Forever Fallen Посмотреть сообщение
Сгенерировать массив из 10 вещественных элементов, лежащих в диапазоне от -20 до 20. Найти минимальное и максимальное значение массива, поменять их местами.
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
#include <iostream>
#include <iterator>
#include <algorithm>
 
double random(double low, double range) {
   return (range - low) * static_cast<double>(rand()) / RAND_MAX + low;
}
 
int main() {
   const int size = 10;
   double values[size];
 
   // create lambda generator to use in generate_n
   auto generator_function = [] { 
      return random (-20, 20); 
   };
 
   // fill `values' by random numbers
   std::generate_n(values, size, generator_function);
   
   // find min element and max element
   double * min = std::min_element(values, values + size);
   double * max = std::max_element(values, values + size);
 
   // print out 
   std::cout << "source state of `value' array's contentn";
   std::copy(values, values + size, std::ostream_iterator<double>(std::cout, " "));
   std::cout << "nn";
 
   // swap min and max
   std::cout << "minimum element has " << std::distance(values, min) << " index and value: " << *min << "n"
            << "maximum element has " << std::distance(values, max) << " index and value: " << *max << "n"
           << "n";
 
   std::swap(*min, *max);
 
   // print out 
   std::cout << "the state of array after swapping min and maxn";
   std::copy(values, values + size, std::ostream_iterator<double>(std::cout, " "));
   std::cout << "nn";
 
   return 0;
}
Цитата Сообщение от Forever Fallen Посмотреть сообщение
Найти значение выражения (3*6!)/ (3!+4*7!) (дробь)
определив функцию расчета факториала натурального числа.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
long factorial(int n) {
   return n > 2 ? factorial(n - 1) * n : 1;
}
 
int main() {
   double result = static_cast<double>(3 * factorial(6)) / (factorial(3) + 4 * factorial(7)); 
   std::cout << result << "\n";
 
   return 0;
}
Цитата Сообщение от Forever Fallen Посмотреть сообщение
дан массив a из 30 целых чисел. Составить массив b следующим образом: b[1]=a[30], b[2]=a[29], b[3]=a[28],..., b[30]=a[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
#include <iostream>
#include <iterator>
#include <algorithm>
 
int main() {
    // arrays' size
    const int size = 30;
    // source array
    int source[size];
 
    // declare generator
    auto generator_function = [] {
        return rand() % 10;
    };
 
    // fill array by random values in range [0, 10)
    std::generate_n(source, size, generator_function);
    
    // print out source array
    std::copy(source, source + size, std::ostream_iterator<int>(std::cout, " "));
    std::cout << "\n";
 
    // destiny array
    int destiny[size];
 
    // reverse source array to destiny
    std::reverse_copy(source, source + size, destiny);
    
    // print out destiny
    std::copy(destiny, destiny + size, std::ostream_iterator<int>(std::cout, " "));
    std::cout << "\n";
 
    return 0;
}
Yandex
Объявления
27.04.2011, 11:25     Найти минимальное и максимальное значение массива, поменять их местами
Ответ Создать тему
Опции темы

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