Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 978 ответов!

Помогите пожалуйста написать программу в С или С++. Пользователь вводит число q и последовательность ненулевых целых чисел до нуля, необходимо сохранить

5-9 класс

их в массив и вычислить их медиану.

1kate1552164 07 нояб. 2013 г., 4:56:13 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Zaripovaiana
07 нояб. 2013 г., 7:45:11 (10 лет назад)

#include <iostream>
#include <cstdlib>

using namespace std;

void Shell(int *a,int n){
    int i,j,step,t;
    step=n/2;
    while (step>0){
        for(j=n-step;j>=1;j--){
            i=j;
            while (i<=(n-step)) {
                if (a[i]>a[i+step]) {t=a[i]; a[i]=a[i+1]; a[i+1]=t;}
                i+=step;
            }
        }
        step/=2;
    }
}

int main() {
   
    int i,q,k;
    float m;
    cout<<"Vvedite q: ";
    cin>>q;
    int a[q+1];
    // ввод
    for (i=1; i<=q; i++){
        cout<<"Vvedite "<<i<<"-e chislo massiva a: ";
        cin>>a[i];
    }
    Shell(a,q);  // сортировка
    k=q/2;
    if (q==2*k)
        m=(a[k]+a[k+1])/2;
    else
        m=a[k];
    cout<<"\nMediana="<<m;   
    return 0;
}

Тестовое решение:

Vvedite q: 10
Vvedite 1-e chislo massiva a: 3
Vvedite 2-e chislo massiva a: 0
Vvedite 3-e chislo massiva a: -5
Vvedite 4-e chislo massiva a: 3
Vvedite 5-e chislo massiva a: 2
Vvedite 6-e chislo massiva a: 7
Vvedite 7-e chislo massiva a: -1
Vvedite 8-e chislo massiva a: 4
Vvedite 9-e chislo massiva a: 9
Vvedite 10-e chislo massiva a: 6

Mediana=3
--------------------------------
Process exited after 34.48 seconds with return value 0
Для продолжения нажмите любую клавишу . . .


Ответить

Другие вопросы из категории

38 десятичное перевести в двоичную

1110 десятичное перевести в двоичную
1011 двоичная перевести в десятичную
111101 двоичная перевести в десятичную
Помогите пожалуйста ! Срочно! Заранее спасибо !

1. Определите,

какое из указанных имен файлов удовлетворяет маске:

Читайте также

Помогите,пожалуйста,написать программу по информатике.Вот такое условие:

Составьте программу, которая формирует массив из 40 случайных целых чисел от 0 до 20 и вычисляет:
1). сумму чисел, не превышающих 10;
2). сумму чисел,кратных 3. Помогите пожалуйста,написать эту программу на PaskalABC.

Помогите, пожалуйста, написать программу в Паскаль

Если дано трехзначное число, например 123 его можно представить в виде 3+2*10+1*10*10. Воспользовавшись этой информацией, создайте программу, которая, получая от пользователя трехзначное число, будет определять из каких цифр оно состоит и выводить их через пробел (например, 1_2_3).

Помогите пожалуйста написать 2 программы

1)Написать программу которая меняет местами числа a и b(линейная и оператор присваивания)
2)Программа проверки существования треугольника по его 3 сторонам
Напишите пожалуйста***

Пожалуйста помогите решить желательно все или хотя бы одну (P.S. программа для программы Turbo Pascal) 1.Написать программу, которая предлагает

ввести 3 значное число и находит сумму его цифр.

2. Написать программу, которая предлагает ввести 3 значное число и меняет порядок цифр наоборот. (123- 321)

3.Написать программу, которая предлагает ввести три числа с клавиатуры, находит их сумму, произведение и среднее арифметическое.



Вы находитесь на странице вопроса "Помогите пожалуйста написать программу в С или С++. Пользователь вводит число q и последовательность ненулевых целых чисел до нуля, необходимо сохранить", категории "информатика". Данный вопрос относится к разделу "5-9" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.