Программа выдает одни нули при сортировке массива - 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, чтобы указать, что программа успешно завершилась