Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2017, 00:35   #1
Игорь1999
Новичок
Джуниор
 
Регистрация: 22.11.2017
Сообщений: 2
Восклицание Помогите правильно отсортировать массив в задаче

Дан массив из 10 элементов (вводятся с клавиатуры)
1)Вывести все элементы массива находящиеся в диапазоне между средним и наименьшим значением
2)Упорядочить выходной массив по возрастанию, при этом элементы из пункта 1) оставить на своих местах

Неправильно сортируют

Код:
 #include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>
#define N 10
int main()
{
    setlocale (LC_ALL, "Russian");
    int a[N];
int i,j,minval,tmp,;
    int kol,summa;
    float sred_arif;
    puts("Введите элементы масива");
    for (i=0; i<N; i++)
    scanf("%d",&a[i]);
    // Вывод элементов на экран;
    minval=a[0];
    summa=0; kol=0;
    for (i=1; i<N; i++)
    {
        summa+=a[i];
        kol+=1;
        // Нахождение суммы всех элементов
        if (a[i]<minval)
            minval=a[i];
    }
    sred_arif=summa/kol;
printf("\n--------------------------------------------------------\n");
    printf("\n Минимальное значение=%d",minval);
    printf("\nСреднее значение=%10.5f",sred_arif);
    printf("\n--------------------------------------------------------\n");
    printf("Все значения диапазона:");
    for (i=0; i<N; i++)
        if ((a[i]>minval) &&(a[i]<sred_arif))
        {
 printf("%5d",a[i]);
        }
printf("\n--------------------------------------------------------\n");
    printf("\n Вывести отсортированыый массив \n");
    for (i=0; i<N; i++)
    {
            for (j=N-1; j>i; j--)
            if ((a[j]>sred_arif)&&(a[j]<a[j-1]))
            {
               tmp=a[j];
               a[j]=a[j-1];
               a[j-1]=tmp;
            }
    printf("%5d",a[i]);
    }
    return 0;
}

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Игорь1999; 22.11.2017 в 23:06.
Игорь1999 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с задаче одномерный массив с++ Еленаа1212 C++ Builder 0 23.05.2016 13:45
с++ не получается правильно отсортировать динамический массив указателей на структуру по номеру группы nati_94 Общие вопросы C/C++ 1 07.03.2013 09:08
Помогите разобраться в задаче на массив WerMut Помощь студентам 1 04.11.2009 16:35
Помогите отсортировать массив методом бинарных вставок zhorzh2407 Помощь студентам 1 19.11.2008 17:19