J5:
Пользователь вводит число N. Заполните массив случайными N числами [-152, 250]. Отсортируйте массив и умножьте 2-е максимальное и 3-е минимальное значения, равныйте 0 индексу массива.
J7:
Пользователь вводит n значений. Заполните массив n случайными числами. Когда в массиве элементы четно-нечетные отсортирован в порядке убывания , выведите TRUE, иначе FALSE.
ввод: n = 4 обр = {1, 2, 3, 4};
вывод: TRUE
ввод: n = 6 обр = {1, 2, 4, 5, 6};
вывод: FALSE // потому что 4 идет после 2
C/C++
Помогите пожалуйста с остальными заданиями в языке С
J7
#include
using namespace std;
int main()
{
int n, val, prev=INT_MAX;
cin >> n;
bool ok = true;
while (n--)
{
cin >> val;
if (prev == INT_MAX)
{
prev = val; continue;
}
if (val < prev || (val % 2 == prev % 2)) ok = false;
prev = val;
}
cout
Владимир Лесневский
:), только надо на C, а не на C++. Но переделать легко, судя по попыткам автора вопроса, с этим он должен и сам справиться :)
TRUE
Мурат Избанов
Помогите пожалуйста
J5 - хотя задание не очень понятно!
#include
#include
#include
#include
void randVector(int *v, size_t n, int _min, int _max)
{
for (size_t i = 0; i < n; i++)
v[i] = (rand() % (_max - _min + 1)) + _min;
}
void printVector(int *v, size_t n)
{
for (size_t i = 0; i < n; i++)
{
printf("%5d", v[i]);
if ((i + 1) % 20 == 0)
puts("");
}
puts("");
}
int cmpf(const void *a, const void *b)
{
return *(const int *)a - *(const int *)b;
}
int main(void)
{
size_t n;
srand(time(NULL));
printf("Input n: ");
int k = scanf("%zu", &n);
if (k != 1) {
fprintf(stderr, "input error");
return -1;
}
int *vec = malloc(sizeof *vec * n);
assert(vec);
randVector(vec, n, -152, 250);
printVector(vec, n);
puts("");
qsort(vec, n, sizeof *vec, cmpf);
printVector(vec, n);
int secondMax = INT_MIN;
int thirdMin = INT_MAX;
size_t boundIdx = 0;
for (size_t i = 0; i < n; i++)
{
if (vec[i] > 0)
{
boundIdx = i;
break;
}
}
secondMax = boundIdx + 1 < n - 1 ? vec[boundIdx + 1] : vec[boundIdx];
thirdMin = boundIdx - 3 >= 0 ? vec[boundIdx - 3] : vec[boundIdx];
puts("");
printf("second max: %d\n", secondMax);
printf("third min: %d\n", thirdMin);
printf("mul: %d\n", thirdMin * secondMax);
free(vec);
return 0;
}
FALSE
Мурат Избанов
Помогите пожалуйста
Похожие вопросы
- Помогите пожалуйста с остальными заданиями в языке С.
- Помогите пожалуйста зделать єто задание!
- Помогите пожалуйста с 2меррый Матрицами .В языке С
- Помогите решить данное задание, на языке программирования с++
- Помогите пожалуйста с заданиями.В языке С.
- Как Создать иерархическую систему классов, на примере этого задания? Второй день уже туплю, помогите пожалуйста... С++
- Помогите пожалуйста решить задачу на языке С#.
- Правильно ли решено задание на языке программирования С++ ?
- Задание в языке Си
- Задание с использование библиотечных функций С++. Нужен код. Помогите, пожалуйста.