Описать функцию которая перезапишет его таким
Download 130.37 Kb.
|
Дан массив размера N
Дан массив размера N. Описать функцию которая перезапишет его таким образом, чтобы в массиве сначала были расположены простые числа, затем сложные числа, и нулевые и единичные элементы. #include using namespace std; void transform(int* va, int* vb, const size_t n) { auto pos = 0U; for (auto i = 0U; i < n; ++i) if (va[i] > 0) vb[pos++] = va[i]; for (auto i = 0U; i < n; ++i) if (va[i] < 0) vb[pos++] = va[i]; while (pos < n) vb[pos++] = 0; } void show(int* vec, const size_t n) { for (auto i = 0U; i < n; ++i) cout << ' ' << vec[i]; cout.put('\n'); } int main() { int box[] = { 1, 3, -8, 3, 0, 4, -7, -3, 0, 4, -1, -5, 0, 2 }; const auto n = size(box); int tmp[n]; transform(box, tmp, n); show(box, n); show(tmp, n); system("pause"); } #include using namespace std; int main() { const int N = 5;
for (int i = 0; i < N; i++) { if (Z[i] > 0) Y[j++] = Z[i]; } for (int i = 0; i < N; i++) { if (Z[i] < 0) Y[j++] = Z[i]; } for (int i = 0; i < N; i++) { if (Z[i] == 0) Y[j++] = Z[i]; } for (auto n : Y) cout << n << " "; } Здравствуйте! На отработку структур было дано следующее задание: "Поля структуры: Фамилия, Амплуа, Возраст, Количество игр, Количество голов. Задание: Определить лучшего форварда, и вывести сведения о футболистах, сыгравших менее 5-ти игр." Я только начинаю изучать С++, поэтому код наверняка выглядит очень наивно. Вопрос у меня в следующем: Как в структуре, на месте, где у меня стоит 12, например, surname[12], сделать переменное значение? Открывать 4 новых динамических массива для каждого вида? Если так, то я не понимаю, почему нам сказали, что структуры и классы призваны устранить возможные ошибки, возникаемые при множественном открытии массивов. Если мой код программы, приведенный ниже, совсем уж ужасен, то напишите свой вариант, либо хотя бы подскажите, на что обратить внимание. #include #include using namespace std; struct Data{ string surname[12],role[12]; int games[12]{}, goals[12]{}; }; int main() { Data a; for(int i=0; i<4; i++) { cout << "Введите фамилию футболиста: " << endl; cin >> a.surname[i]; cout << "Введите амплуа футболиста: " << endl; cin >> a.role[i]; cout << "Введите количество игр, в которых участвовал футболист : " << endl; cin >> a.games[i]; cout << "Введите количество голов, забитых футболистом" << endl; cin >> a.goals[i];} int f = a.goals[0]; string the_best; cout<<"Игроки, сыгравшие менее 5 игр:"< if (a.games[i]<3){ cout<<"Фамилия игрока: "< cout<<"Количество игр: "< f=a.goals[i]; the_best=a.surname[i];}} cout<<"_____________________________________________"< } Описать функцию, которая на вход получает список и возвращает копию списка, которая полностью имеет отличные адреса.
Добавлено через 56 минут Проблему решил, вот рабочая функция:
Download 130.37 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling