Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int get_rand(int a, int b) {
- return rand() % (b - a + 1) + a;
- }
- void test_size() {
- const int size = 5;
- int arr[size];
- int a = 14;
- double b = 0.1;
- cout << "size int:" << sizeof(a)
- << " " << &a << endl;
- cout << "size double:" << sizeof(b)
- << " " << &b << endl;
- cout << "size arr(5-int):" << sizeof(arr)
- << " " << &arr << endl;
- cout << "size arr[0]:" << sizeof(arr[0])
- << " " << &arr[0] << endl;
- cout << "size arr:"
- << sizeof(arr) / sizeof(arr[0]) << endl;
- }
- void show_arr(int size, int arr[]) {
- // Причина по которой мы не используем sizeof при вызове функции
- //cout << "size in fun:" << sizeof(arr) << endl;
- for (int k = 0; k < size; k++) {
- cout << arr[k] << " ";
- }
- cout << endl;
- }
- void generate_arr(int size, int arr[]) {
- for (int k = 0; k < size; k++) {
- arr[k] = get_rand(-10, 10);
- }
- }
- void test0() {
- const int size = 4;
- int vects[size]{ 4,5,6,8 };
- int sum = 0;
- for (int k = 0; k < size; k++) {
- sum += vects[k];
- }
- cout << sum << endl;
- }
- void test_rand_array() {
- const int size = 10;
- int arr[size];
- int arr2[size];
- int arr3[size];
- generate_arr(size, arr);
- for (int k = 0; k < size; k++) {
- arr2[k] = arr[size - k - 1];
- }
- for (int k = 0; k < size; k++) {
- arr3[k] = arr[k] + arr2[k];
- }
- int negativ = 0;
- for (int k = 0; k < size; k++) {
- if (arr[k] < 0)
- negativ++;
- }
- cout << "negativ: " << negativ << endl;
- int concat_arr[2 * size];
- /*
- // Заменили этот сложночитаемый код на простой
- for (int k = 0; k < (2*size); k++) {
- if (k < size) {
- concat_arr[k] = arr[k];
- }
- else {
- concat_arr[k] = arr2[k-size];
- }
- }
- */
- for (int k = 0; k < size; k++) {
- concat_arr[k] = arr[k];
- concat_arr[k+size] = arr2[k];
- }
- int max = arr[0];
- int min = arr[0];
- for (int k = 1; k < size; k++) {
- max = (max < arr[k]) ? arr[k] : max;
- min = (min > arr[k]) ? arr[k] : min;
- }
- cout << "max: " << max << " min: " << min << endl;
- show_arr(size, arr);
- //show_arr(size, arr2);
- //show_arr(size, arr3);
- show_arr(2 * size, concat_arr);
- }
- void test_maxs() {
- const int size = 100;
- int arr[size];
- generate_arr(size, arr);
- int max = arr[0];
- int id_maxs[size];
- int num_max = 0;
- for (int k = 1; k < size; k++)
- max = (max < arr[k]) ? arr[k] : max;
- for (int k = 0; k < size; k++) {
- if (arr[k] == max) {
- id_maxs[num_max] = k;
- num_max++;
- }
- }
- show_arr(size, arr);
- cout << max << endl;
- show_arr(num_max, id_maxs);
- }
- int main() {
- srand(time(NULL));
- //test_rand_array();
- test_maxs();
- }
Advertisement