Отсортировать массив по возрастанию - 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 и выполняет следующие действия:

  1. Объявляет массив mass_q типа float с размером 100 элементов.
  2. Инициализирует переменную i для использования в циклах.
  3. Инициализирует переменную n с помощью функции scanf, которая считывает число, введенное пользователем, и сохраняет его в переменной n.
  4. Инициализирует переменную srand с помощью функции time(NULL), которая используется для инициализации генератора случайных чисел.
  5. Заполняет массив mass_q случайными числами с помощью цикла for и функции rand().
  6. Выводит сообщение Ishodnyy_massiv и значения массива mass_q с помощью цикла for и функции printf().
  7. Инициализирует переменные pol и otrit для подсчета положительных и отрицательных чисел в массиве.
  8. С помощью цикла for и условных операторов if подсчитывает количество положительных и отрицательных чисел в массиве.
  9. Используя два вложенных цикла for, сортирует массив mass_q в порядке возрастания.
  10. Выводит сообщение otsortirovannyy masiv и значения отсортированного массива mass_q с помощью цикла for и функции printf().

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы