Отсортировать массив по возрастанию - C (СИ) (71033)
Формулировка задачи:
вот код, задача отсортировать массив по возрастанию, а он ,вместо отсортированного массива, выводит в ответ одни нули
#include<stdio.h> #include<conio.h> #include<stdlib.h> #include<math.h> main(){ clrscr(); float mass_q[100]; int n; printf("Vvedite N ");scanf("%d", &n); printf("\n\n"); for (int i=0;i<n;i++) mass_q[i]=((rand()%100-20)); printf("Ishodnyy_massiv\n"); for(i=0;i<n;i++) printf("mass_q[%d]=%g\t",i, mass_q[i]); int pol=0,otrit=0; for (i=0; i<n; i++) {if(mass_q[i]>0)pol++; if(mass_q[i]<0)otrit++;} printf("\n\n\notritsatelnyh=%d\n\n\n",otrit); // bylo pokazano skolko otritsat eleventow int tmp; for(i=0;i<n;i++){ for(int j=i;j<10;j++){ if(mass_q[j]<mass_q[j+1]){tmp=mass_q[j];mass_q[j+1];mass_q[j+1]=tmp;} } } printf("otsortirovannyy masiv\n"); for(i=0;i<n;i++) printf("%d\t", mass_q[i]); }
Решение задачи: «Отсортировать массив по возрастанию»
textual
Листинг программы
float mass_q[100]; int i, n; srand(time(NULL)); printf("Vvedite N "); scanf("%d", &n); printf("\n\n"); for (int i = 0; i<n; i++) mass_q[i] = ((rand() % 100 - 20)); printf("Ishodnyy_massiv\n"); for (i = 0; i<n; i++) printf("mass_q[%d]=%g\t", i, mass_q[i]); int pol = 0, otrit = 0; for (i = 0; i<n; i++) { if (mass_q[i]>0)pol++; if (mass_q[i]<0)otrit++; } printf("\n\n\notritsatelnyh=%d\n\n\n", otrit); // bylo pokazano skolko otritsat eleventow int tmp, j; for (i = n - 1; i >= 0; i--) { for (j = 0; j < i; j++) { if (mass_q[j] > mass_q[j + 1]) { tmp = mass_q[j]; mass_q[j] = mass_q[j + 1]; mass_q[j + 1] = tmp; } } } printf("otsortirovannyy masiv\n"); for (i = 0; i<n; i++) printf("%g\t", mass_q[i]);
Объяснение кода листинга программы
Код представлен на языке C и выполняет следующие действия:
- Объявляет массив
mass_q
типаfloat
с размером 100 элементов. - Инициализирует переменную
i
для использования в циклах. - Инициализирует переменную
n
с помощью функцииscanf
, которая считывает число, введенное пользователем, и сохраняет его в переменнойn
. - Инициализирует переменную
srand
с помощью функцииtime(NULL)
, которая используется для инициализации генератора случайных чисел. - Заполняет массив
mass_q
случайными числами с помощью циклаfor
и функцииrand()
. - Выводит сообщение
Ishodnyy_massiv
и значения массиваmass_q
с помощью циклаfor
и функцииprintf()
. - Инициализирует переменные
pol
иotrit
для подсчета положительных и отрицательных чисел в массиве. - С помощью цикла
for
и условных операторовif
подсчитывает количество положительных и отрицательных чисел в массиве. - Используя два вложенных цикла
for
, сортирует массивmass_q
в порядке возрастания. - Выводит сообщение
otsortirovannyy masiv
и значения отсортированного массиваmass_q
с помощью циклаfor
и функцииprintf()
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д