Программа выдает одни нули при сортировке массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

вот код, программа вместо того , что-бы отсортировать массив по возрастанию , выдает на вывод одни нули
Листинг программы
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<stdlib.h>
  4. #include<math.h>
  5. main(){
  6. clrscr();
  7. float mass_q[100];
  8. int n;
  9. printf("Vvedite N ");scanf("%d", &n);
  10. printf("\n\n");
  11. for (int i=0;i<n;i++)
  12. mass_q[i]=((rand()%100-20));
  13. printf("Ishodnyy_massiv\n");
  14. for(i=0;i<n;i++)
  15. printf("mass_q[%d]=%g\t",i, mass_q[i]);
  16. int pol=0,otrit=0;
  17. for (i=0; i<n; i++)
  18. {if(mass_q[i]>0)pol++;
  19. if(mass_q[i]<0)otrit++;}
  20. printf("\n\n\notritsatelnyh=%d\n\n\n",otrit);
  21. // bylo pokazano skolko otritsat eleventow
  22. int tmp;
  23. for(i=0;i<n;i++){
  24. for(int j=i;j<10;j++){
  25. if(mass_q[j]<mass_q[j+1]){tmp=mass_q[j];mass_q[j+1];mass_q[j+1]=tmp;}
  26. }
  27. }
  28.  
  29. printf("otsortirovannyy masiv\n");
  30. for(i=0;i<n;i++)
  31. printf("%d\t", mass_q[i]);
  32. }

Решение задачи: «Программа выдает одни нули при сортировке массива»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. int main(void)
  5. {
  6.         int pol=0, otrit=0;
  7.         float mass_q[100];
  8.         int tmp, n, i, j;
  9.         printf("Vvedite N ");
  10.         scanf("%d", &n);
  11.         printf("\n\n");
  12.         for (i = 0; i < n; i++)
  13.                 mass_q[i]=((rand()%100-20));
  14.         printf("Ishodnyy_massiv\n");
  15.         for(i=0;i<n;i++)
  16.                 printf("mass_q[%d]=%g\t",i, mass_q[i]);
  17.         for (i=0; i<n; i++)
  18.         {
  19.                 if(mass_q[i]>0)pol++;
  20.                 if(mass_q[i]<0)otrit++;
  21.         }
  22.         printf("\n\n\notritsatelnyh=%d\n\n\n",otrit);
  23.         // bylo pokazano skolko otritsat eleventow
  24.         printf("%d\n", i);
  25.         for(; i > 0; i--)
  26.         {
  27.                 for(j = 0 ; j < n; j++) //заменим 10 на n
  28.                 {
  29.                         if(mass_q[j] > mass_q[j+1])
  30.                         {
  31.                                 tmp = mass_q[j];
  32.                                 mass_q[j] = mass_q[j+1];
  33.                                 mass_q[j+1] = tmp;
  34.                         }
  35.                 }
  36.         }
  37.         printf("otsortirovannyy masiv\n");
  38.         for(i = 0; i < n; i++)
  39.         printf("%f\t", mass_q[i]);
  40.         return 0;
  41. }

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: stdio.h, stdlib.h, math.h
  2. Объявление переменных: pol, otrit, mass_q, tmp, n, i, j
  3. Ввод числа N с клавиатуры и сохранение его в переменной n
  4. Заполнение массива mass_q случайными числами от -20 до 20 с шагом 1
  5. Вывод исходного массива на экран
  6. Подсчет количества положительных и отрицательных чисел в массиве и сохранение их в переменных pol и otrit соответственно
  7. Вывод количества отрицательных чисел на экран
  8. Начиная с самого большого элемента, производится сортировка массива по убыванию
  9. Вывод отсортированного массива на экран
  10. Возврат 0, чтобы указать, что программа успешно завершилась

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


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

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

14   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы