Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- #include <cstring>
- #include <cmath>
- using namespace std;
- int one_max(int *in_mas, size_t in_dlina) {
- int a = 0, max = 0, b = 0;
- max = in_mas[0];
- for (int i = 1; i < (in_dlina); i++) {
- a = in_mas[i];
- if (a>max) {
- max = a;
- b = i;
- }
- }
- return b;
- }
- int one_maxrecursia(int *in_mas, size_t in_dlina, int max, int i, int b, int a) {
- if (i<in_dlina)
- {
- a = in_mas[i];
- if (a>max) {
- max = a;
- b = i;
- cout << "!b = " << b << endl;
- }
- return one_maxrecursia(in_mas, in_dlina, max, ++i, b, a);
- }
- else return b;
- }
- int min_rasnost_modul(int *in_mas, unsigned int in_dlina) {
- int a = 0, min = 0;
- min = abs(abs(in_mas[1]) - abs(in_mas[0]));
- for (unsigned int i = 1; i < (in_dlina - 1); i++) {
- a = abs(abs(in_mas[i + 1]) - abs(in_mas[i]));
- if (a<min)
- min = a;
- }
- return min;
- }
- int min_rasnost_modulrecursia(int *in_mas, unsigned int in_dlina) {
- if (in_dlina <= 1) {
- return abs(abs(in_mas[1]) - abs(in_mas[0]));
- }
- return (abs(abs(in_mas[1]) - abs(in_mas[0])), min_rasnost_modulrecursia(in_mas + 1, in_dlina - 1));
- }
- int main() {
- int max;
- setlocale(0, "");
- int mas1[] = { 1,2,3,4,5 };
- int mas2[] = { -9,8,4 };
- int mas3[] = { 2,2,8,8 };
- if (
- (one_max(mas1, 5) == 4)
- &&
- (one_max(mas2, 3) == 1)
- &&
- (one_max(mas3, 4) == 2)
- &&
- (min_rasnost_modul(mas1, 5) == 1)
- &&
- (min_rasnost_modul(mas2, 3) == 1)
- &&
- (min_rasnost_modul(mas3, 4) == 0)
- &&
- (one_maxrecursia(mas1, 5, max = mas1[0], 1, 0, 0) == 4)
- &&
- (one_maxrecursia(mas2, 3, max = mas2[0], 1, 0, 0) == 1)
- &&
- (one_maxrecursia(mas3, 4, max = mas3[0], 1, 0, 0) == 2)) {
- cout << "Good" << endl;
- return 0;
- }
- cout << "Bad" << endl;
- cout << endl;
- cout << (one_max(mas1, 5)) << endl;
- cout << (one_max(mas2, 3)) << endl;
- cout << (one_max(mas3, 4)) << endl;
- cout << endl;
- cout << (min_rasnost_modul(mas1, 5)) << endl;
- cout << (min_rasnost_modul(mas2, 3)) << endl;
- cout << (min_rasnost_modul(mas3, 4)) << endl;
- cout << endl;
- cout << (one_maxrecursia(mas1, 5, max = mas1[0], 1, 0, 0)) << endl;
- cout << (one_maxrecursia(mas2, 3, max = mas2[0], 1, 0, 0)) << endl;
- cout << (one_maxrecursia(mas3, 4, max = mas3[0], 1, 0, 0)) << endl;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement