Программа выдает одни нули при сортировке массива - C (СИ)
Формулировка задачи:
вот код, программа вместо того , что-бы отсортировать массив по возрастанию , выдает на вывод одни нули
Листинг программы
- #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
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- int main(void)
- {
- int pol=0, otrit=0;
- float mass_q[100];
- int tmp, n, i, j;
- printf("Vvedite N ");
- scanf("%d", &n);
- printf("\n\n");
- for (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]);
- 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
- printf("%d\n", i);
- for(; i > 0; i--)
- {
- for(j = 0 ; j < n; j++) //заменим 10 на n
- {
- 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("%f\t", mass_q[i]);
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек: stdio.h, stdlib.h, math.h
- Объявление переменных: pol, otrit, mass_q, tmp, n, i, j
- Ввод числа N с клавиатуры и сохранение его в переменной n
- Заполнение массива mass_q случайными числами от -20 до 20 с шагом 1
- Вывод исходного массива на экран
- Подсчет количества положительных и отрицательных чисел в массиве и сохранение их в переменных pol и otrit соответственно
- Вывод количества отрицательных чисел на экран
- Начиная с самого большого элемента, производится сортировка массива по убыванию
- Вывод отсортированного массива на экран
- Возврат 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д