Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include "StdAfx.h"
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #include <iostream>
- #include <random>
- using namespace std;
- /*
- Мой вариант: ( он вроде 2 )
- Напишите функцию, которая находит в массиве наибольший элемент и возвращает указатель на него.
- Тестовая программа:
- 1) инициализируйте и заполните 2 массива ( они статические )
- 2) найдите наибольшие элементы в этих массивах
- 3) определить в каком из массивов наибольший элемент ближе к началу массива
- */
- double* max_in_array_return_pointer(double A[], int N) {
- double* my_p = &A[0];
- double my_max = A[0];
- for (int i = 1; i < N; i++) {
- if (A[i] > my_max) {
- my_max = A[i];
- my_p = &A[i];
- }
- }
- return my_p;
- }
- int scheize(double A[], int N) {
- srand(time(0));
- cout << "Случайно заполненный массив: ";
- for (int i = 0; i < N; i++) {
- A[i] = (double) rand()/pow(10, 8) - 10;
- cout << A[i] << " ";
- }
- cout << endl;
- double* my_p = max_in_array_return_pointer(A, N);
- cout << "Указатель на максимальный элемента массива = " << my_p << endl << endl;
- int my_i = 0;
- for (double* p = A; p < A + N; p++) {
- if (p == my_p) {
- break;
- }
- my_i++;
- }
- return my_i;
- }
- int main() {
- int N1;
- cout << "Введите N1 количество элементов массива A: ";
- cin >> N1;
- double A[N1];
- int my_i_A = scheize(A, N1);
- int N2;
- cout << "Введите N2 количество элементов массива B: ";
- cin >> N2;
- double B[N2];
- int my_i_B = scheize(B, N2);
- if (my_i_A < my_i_B) {
- cout << "В массиве A наибольший элемент находится ближе к началу массива" << endl;
- }
- else if (my_i_A > my_i_B) {
- cout << "В массиве B наибольший элемент находится ближе к началу массива" << endl;
- }
- else {
- cout << "В массивах A и B индекса наибольших элементов массивов совпадают" << endl;
- }
- system ("pause");
- return(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement