first version of t4

This commit is contained in:
gandc 2025-03-13 15:58:46 +03:00
parent e7c81c7c16
commit e40ce553c7
Signed by: gandc
GPG Key ID: 9F77B03D43C42CB4

View File

@ -0,0 +1,68 @@
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void) {
int n;
printf("Введите размер массива b: ");
scanf("%d", &n);
int *b = (int*) malloc(n * sizeof(int));
if (!b) {
printf("Ошибка выделения памяти.\n");
return 1;
}
printf("Введите %d элементов массива b:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &b[i]);
}
// Определяем количество положительных элементов
int count = 0;
for (int i = 0; i < n; i++) {
if (b[i] > 0) {
count++;
}
}
// Выделяем память для массива C
double *C = (double*) malloc(count * sizeof(double));
if (!C) {
printf("Ошибка выделения памяти для массива C.\n");
free(b);
return 1;
}
// Заполняем массив C
int j = 0;
for (int i = 0; i < n; i++) {
if (b[i] > 0) {
C[j] = sqrt(b[i]) / 5.0;
j++;
}
}
// Сортировка массива C методом выбора
for (int i = 0; i < count - 1; i++) {
int minIndex = i;
for (int k = i + 1; k < count; k++) {
if (C[k] < C[minIndex])
minIndex = k;
}
// Обмен значениями
double temp = C[i];
C[i] = C[minIndex];
C[minIndex] = temp;
}
printf("Отсортированный массив C:\n");
for (int i = 0; i < count; i++) {
printf("%f ", C[i]);
}
printf("\n");
free(b);
free(C);
return 0;
}