#include #include #include #include // std::swap //void print(int data[], int num) { void print(int* data, int num) { /*for (int i = 0; i < num; ++i) { std::cout << data[i] << ' '; }*/ //int* end = data + num; for (int *p = data, *end = data + num; p != end; ++p) { std::cout << *p << ' '; } std::cout << '\n'; } int myFind(int x, int* data, int num) { for (int i = 0; i < num; ++i) { if (data[i] == x) return i; } return -1; } int myFindRev(int x, int* data, int num) { /* int index = -1; for (int i = 0; i < num; ++i) { if (data[i] == x) index = i; } return index; /*/ for (int i = num-1; i >= 0; --i) { if (data[i] == x) return i; } return -1; //*/ } /* int myMinVal(int* data, int num) { int m = data[0]; for (int i = 1; i < num; ++i) { if (data[i] < m) { m = data[i]; } } return m; } //*/ //int myMinVal(int* data, int num, int& count) { int myMinVal(int* data, int num, int* count) { int m = data[0]; if (count) { *count = 1; for (int i = 1; i < num; ++i) { if (data[i] == m) { ++*count; } else if (data[i] < m) { m = data[i]; *count = 1; } } } else { for (int i = 1; i < num; ++i) { if (data[i] < m) { m = data[i]; } } } /* //count = 1; if (count != 0) // if (count) *count = 1; for (int i = 1; i < num; ++i) { if (data[i] == m) { if (count != 0) ++*count; //++count; } else if (data[i] < m) { m = data[i]; //count = 1; if (count != 0) *count = 1; } } */ return m; } int myMinInd(int* data, int num) { //int m = data[0]; int mi = 0; for (int i = 1; i < num; ++i) { //if (data[i] < m) { if (data[i] < data[mi]) { mi = i; //m = data[i]; } } return mi; } int main() { const int num = 10; int data[num]; srand(time(0)); for (int i = 0; i < num; ++i) { data[i] = int(rand() / float(RAND_MAX) * 100); } print(data, num); print(data, num / 2); print(data + num/2, num/2); for (int i = 0; i < num/2; ++i) { std::swap(data[i], data[num - i - 1]); } print(data, num); data[2] = data[5] = 10; print(data, num); int index = myFindRev(10, data, num); //if ((index = myFind(10, data, num)) < 0) if (index < 0) std::cout << "not found\n"; else std::cout << index << '\n'; int c; std::cout << myMinVal(data, num, 0); //std::cout << myMinVal(data, num, &c); // указатель //std::cout << myMinVal(data, num, c); // ссылка //std::cout << ' ' << c << '\n'; return 0; }