search points attachment profile arrow left arrow right star heart verified symbols equation arrow-down question mark check menu accountancyadministrationagriculturalalgebraallarabicartart_musicbelarusbelarus_altbiologybusinesscatalachemistrychineseeconomicsegzamenglishentrepreneurshipenvironmentethicseuskarafirst_aidfrenchgalegogeographygeologygeometrygermangrammarhealthhistoryindia_langindonesian_langinformaticsitalianjapanesekazachkazach_altkoreanlanguagelatinlawlife_scienceliteraturelogicmathematicsmusicnigerian_langother_languagesotherspedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligionrpa_langrussianrussian_altsciencesecurityskillssocial_sciencesociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation accountancyadministrationagriculturalalgebraall_1arabicartart_music_2belarusbelarus_altbiologybusiness_2catalachemistry_1chineseeconomicsexam_3englishentrepreneurshipenvironment_2ethicseuskarasecurity_1frenchgalegogeography_4geology_4geometrygermangrammarhealthhistoryindia-langindonesian-langinformaticsitalianjapanesekazachAsset 230koreanlanguagelatinlawlife-scienceliteraturelogic_2mathematicsmusicnigerian-langotherlanguagesother_1pedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligion_1rpa-langrussianrussian_altsciencesecurity_3_mskills_1allsocial_science_5_msociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation

Дан целочисленный массив размера N. Увеличить все минимальные элементы, содержащиеся в массиве, на исходное значение последнего нечетного числа. Если нечетные числа в массиве отсутствуют, то оставить массив без изменений.(Написать на языке С++)

SlapShow

Ответ

Ответ дан
Koljisto

#include <iostream>

#include <time.h>

#include <algorithm>

using namespace std;

int* input_array_auto(int* arr, int n) {

for (size_t i = 0; i < n; i++)

{

 arr[i] = rand() % 10 + 1;

}

return arr;

}

int* input_array(int* arr, int n) {

for (size_t i = 0; i < n; i++)

{

 cin >> arr[i];

}

return arr;

}

void print_array(int* arr, int n) {

for (size_t i = 0; i < n; i++)

{

 cout << arr[i] << " ";

}

cout << endl;

}

bool check_odd(int elem) {

return elem % 2 == 1 ? true : false;

}

int find_last_odd (int* arr, int n) {

int last_odd = 0;

for (size_t i = 0; i < n; i++)

{

 if (check_odd(arr[i])) {

  last_odd = arr[i];

 }

}

return last_odd;

}

int* overwriting_minima_array(int* arr, int n, int min, int last_odd) {

for (size_t i = 0; i < n; i++)

{

 if (arr[i] == min) {

  arr[i] = arr[i] + last_odd;

 }

}

return arr;

}

int main()

{

setlocale(LC_ALL, "Russian");

srand(time(NULL));

int n;

cout << "Введите N: ";

cin >> n;

int* arr = new int[n];

arr = input_array_auto(arr, n);

print_array(arr, n);

int *min = min_element(arr, arr + n);

int last_odd = find_last_odd(arr, n);

arr = overwriting_minima_array(arr, n, *min, last_odd);

print_array(arr, n);

}

Ответы и объяснения

Не тот ответ, который тебе нужен?


По всем вопросам пишите на - [email protected]