5 / 5 / 0
Регистрация: 20.06.2016
Сообщений: 87
1

Вычислить сколько элементов последовательности попало в каждый заданный диапазон

07.07.2016, 18:27. Показов 768. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем у меня такой вопрос

изените если вапрос не по теме

Выполните подсчет количества значений по разным диапазонам и результаты запишите в одну строку через пробелы.

напр: "1000 2000 3000 4000 5000 6000"

Range1: 100 < x < 150
Range2: x > 2000
Range3: 120 < x < 500
Range4: -1000 < x < -120
Range5: -5000 < x < -3000
Range6: -10 < x < 10

так вот надо сделать сортировку а эти числа 10 милионов штук

надо сделать так чтобы программа открывала файл в txt и делало сортировку чисел а после выводила новый файл в формате txt с сортировкой

спасибо всем
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2016, 18:27
Ответы с готовыми решениями:

Найти среднее арифметическое чисел последовательности попадающих в заданный диапазон
1. С клавиатуры вводится последовательность чисел. Количество чисел заранее не известно, но может...

Ввести n целых чисел и определить, сколько из них попадают в заданный диапазон (цикл For)
Помогите с созданием при помощи цикла For. Заранее спасибо Ввести n целых чисел и определить,...

Найти в массиве количество элементов, не входящих в заданный диапазон
Как найти в массиве количество элементов, не входящих в заданный диапазон?

Если случайное число попало в диапазон 60 - 100, подайте звуковой сигнал
Напишите программу, которая генерирует 100 целых случайных чисел в диапазоне 1..300. Если случайное...

8
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
08.07.2016, 09:31 2
ProHacker, обязательна ли сортировка? без нее вычисление нужных вам количеств будут гораздо быстрее - просто пройдите по всей последовательности сравнивая числа с заданными диапазонами и увеличивая счетчик если число попало в диапазон.
0
5 / 5 / 0
Регистрация: 20.06.2016
Сообщений: 87
08.07.2016, 09:45  [ТС] 3
может подскажите как это сделать на c++ или php ??
0
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
08.07.2016, 10:05 4
ProHacker можно так. правда предельные значения второй диапазон некорректно отработает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void main(void)
{
    int n = 6;
    int a[] = {1000, 2000, 3000, 4000, 5000, 6000};
    int m = 6;
    int r_min = {100, 2000, 120, -1000, -5000, -10};
    int r_max = {150, 0xFFFF, 500, -120, -3000, 10};
    int r_count = {0, 0, 0, 0, 0, 0};
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            if (r_min[j] < a[i] && a[i] < r_max[j]) r_count[j]++;
        }
    }
}
0
5 / 5 / 0
Регистрация: 20.06.2016
Сообщений: 87
08.07.2016, 10:07  [ТС] 5
а как сделать так чтобы этот код открывал файл в котором чилсла а потом ваш код а после этого сохронял это все в новом текстовом документе ?? спасибо
0
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
08.07.2016, 10:14 6
ProHacker, давайте вы хоть попробуете сделать хоть эту часть
0
5 / 5 / 0
Регистрация: 20.06.2016
Сообщений: 87
08.07.2016, 10:16  [ТС] 7
ну просто там понимаете в текстовом редакторе 10 милионнов чисел ))
0
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
08.07.2016, 10:22 8
ProHacker, хотите что бы я за вас набрал 10 млн чисел)? просто сформируйте этот файл и все. что нибудь вроде
C++
1
2
3
4
5
6
7
8
9
10
11
#include <fstream>
#include <stdlib.h>
void main(void)
{
    std::ofstream os("test.txt");
    for (int i = 0; i < 10000000; i++)
    {
        os << rand() << " ";
    }
    os.close();
}
0
0 / 0 / 1
Регистрация: 24.03.2016
Сообщений: 3
09.10.2016, 20:18 9
Это задание на fhc 2015 было.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <stdio.h>
#include <cstdlib>
#include <fstream>
#include <cstdio>
 
using namespace std;
 
int main()
{
    ifstream f;
    int x,x0=0,x1=0,x2=0,x3=0,x4=0,x5=0;
    f.open("data.txt");
    while ( !f.eof())
    {f>>x;
    if ((x>100) and (x<150))
    {
        x0++;
    }
    if (x>2000)
    {
        x1++;
    }
        if ((x>120) and (x<500))
        {x2++;}
        if ((x>-1000) and (x<-120))
        {
            x3++;
        }
        if ((x>-5000) and (x<-3000))
        {
            x4++;
        }
        if ((x>-10) and (x<10))
        {
            x5++;
        }
 
    }
cout<<x0<<" "<<x1<<" "<<x2<<" "<<x3<<" "<<x4<<" "<<x5<<" ";
    return 0;
}
вот код в принципе, выведет 6 чисел:24561 3999978 189313 439061 999842 9473.
Но второе число неправильное почему-то, пересчет на единицу. должно быть 3999977.
0
09.10.2016, 20:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2016, 20:18
Помогаю со студенческими работами здесь

Определить сумму и количество элементов массива, попадающего в заданный с клавиатуры диапазон.
Всем привет! Я в С++ чайник, не могу понять как написать программу, прошу помощи у знающих людей....

Напечатать индексы элементов массива, значения которых не входят в заданный диапазон
дан одномерный массив, напечатать индексы элементов, значения которых не входят в заданный диапазон

Определить, сколько раз в последовательности встречается заданный символ
Сегодня мне друг показал вот эту задачу, мы с ним просидели часа 3.5 наверно пытаясь придумать как...

Определить, сколько раз в последовательности встречается заданный символ
Пусть во входном потоке находится последовательность литер, заканчивающаяся точкой (кодировка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru