Другие языки программирования и технологии
Напишите всю программу. На С пожалуйста! Спасибо большое!!!
В массиве A[0..N-1] определить минимальное значение. Все числа, лежащие за минимальным записать в новый массив В, рассортировать его и определить в нем среднее арифметическое положительных чисел.
#include // stdio.h
#include // locale.h
#include // stdlib.h
int compare(const void* element1, const void* element2) { // Функция сравнения элементов
const int* first = (const int*)element1;
const int* second = (const int*)element2;
return *first - *second; // Элементы будут отсортированы по возрастанию
}
int main() {
setlocale(LC_ALL, "");
printf("Введите размер массива: ");
int n;
scanf("%d", &n);
int* a = (int*)malloc(sizeof(int) * n);
int minIdx = 0; // Индекс минимального элемента
printf("Введите массив A: ");
for (int i = 0; i < n; i++) { // Считываем элементы и ищем минимум
scanf("%d", a + i);
if (a[i] < a[minIdx])
minIdx = i;
}
const int bSize = n - minIdx - 1, bytesToCopy = bSize * sizeof(int);
int* b = (int*)malloc(bytesToCopy);
memcpy(b, a + minIdx + 1, bytesToCopy); // Копируем нужное в массив B
qsort(b, bSize, sizeof(int), compare); // Сортируем
printf("Отсортированный массив B из элементов, лежащих за минимальным в A:\n");
int sum = 0, positives = 0;
for (int i = 0; i < bSize; i++) {
printf("%d ", b[i]); // Выводим B
if (b[i] > 0) { // Суммируем и считаем положительные элементы
positives++;
sum += b[i];
}
}
const double average = positives ? (double)sum / positives : 0.0;
printf("\nСреднее арифметическое положительных чисел: %.2lf\n", average);
free(b);
free(a);
return 0;
}
#include // locale.h
#include // stdlib.h
int compare(const void* element1, const void* element2) { // Функция сравнения элементов
const int* first = (const int*)element1;
const int* second = (const int*)element2;
return *first - *second; // Элементы будут отсортированы по возрастанию
}
int main() {
setlocale(LC_ALL, "");
printf("Введите размер массива: ");
int n;
scanf("%d", &n);
int* a = (int*)malloc(sizeof(int) * n);
int minIdx = 0; // Индекс минимального элемента
printf("Введите массив A: ");
for (int i = 0; i < n; i++) { // Считываем элементы и ищем минимум
scanf("%d", a + i);
if (a[i] < a[minIdx])
minIdx = i;
}
const int bSize = n - minIdx - 1, bytesToCopy = bSize * sizeof(int);
int* b = (int*)malloc(bytesToCopy);
memcpy(b, a + minIdx + 1, bytesToCopy); // Копируем нужное в массив B
qsort(b, bSize, sizeof(int), compare); // Сортируем
printf("Отсортированный массив B из элементов, лежащих за минимальным в A:\n");
int sum = 0, positives = 0;
for (int i = 0; i < bSize; i++) {
printf("%d ", b[i]); // Выводим B
if (b[i] > 0) { // Суммируем и считаем положительные элементы
positives++;
sum += b[i];
}
}
const double average = positives ? (double)sum / positives : 0.0;
printf("\nСреднее арифметическое положительных чисел: %.2lf\n", average);
free(b);
free(a);
return 0;
}
Рустик ?!?!?!?
Спасибо!!
‹( ͡° ͜ʖ ͡° )›
Похожие вопросы
- Очень срочно!!! Помогите с заданиями по ИНФОРМАТИКЕ, надо написать несколько программ:
- Сделайте пожалуйста программу на Паскале. Заранее спасибо!!!!
- Паскаль написать программу помогите. срочно. Пожалуйста
- Язык Си. Помогите пожалуйста написать простую программу.
- помогите написать простые программы на Qbasic
- Помогите, пожалуйста, написать текст программы на языке высокого уровня (Basic или Pascal)!
- Помогите пожалуйста напишите код программы
- Помогите написать пару программ на СИ
- Можно ли на C++ написать сложные программы? Как?
- Напишите плз программу. Заранее спасибо!