Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
#1

Разъясните условие задачи

30.01.2016, 21:17. Просмотров 477. Ответов 18
Метки нет (Все метки)

Есть задача, правда на англицком, переводить не стану что бы не напартачить.


A call center has N operators who receive calls and record them in
text files (one file per operator, one line per record). The format of
the file records is: numeric ID, space, encoded message details, end
of line. The call ID is unique and monotonically growing, i.e. if an
operator receives a call and gets ID1, other operator, when receives
the next call, will get ID2 > ID1. At the end of the day all operator
files are copied to one host and a program is executed to merge these
files into one file ordering the records by their ID.

Write the program (preferably C or C++) that performs this merging,
taking into account that the number of input files and their size may
be very large and program should perform as fast as possible.


Не могу доехать в само условие. К примеру у меня 3 оператора, может ли случиться такая последовательность
C++
1
2
3
4
5
6
Array:
[
 operator1 => 1, 2, 7, 8
 operator2 => 3, 6, 9, 11
 operator3 => 4, 5 10, 12
]
или только такая

C++
1
2
3
4
5
6
Array:
[
 operator1 => 1, 7, 16, 21
 operator2 => 3, 10, 19, 22
 operator3 => 4, 15 20, 25
]
Буду крайне признателен за малейшую трезвую подсказку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2016, 21:17
Ответы с готовыми решениями:

условие задачи
здравствуйте.дана следующая задача-Дан массив размера N. Определить количество...

условие задачи
Ввести массив вещественных чисел. Найти и вывести номер элемента, для которого...

Задачи на условие...
2. Определить, имеется ли среди чисел a, b, c хотя бы одна пара взаимно...

Условие задачи
Здравствуйте уважаемые программисты. Вот задали задачу, а условия понять не...

Условие задачи
Определить корень уравнения x*1.1=e-x( икс умножить на 1.1=е-х) при x0=0.55 с...

18
nonedark2008
1036 / 773 / 215
Регистрация: 28.07.2012
Сообщений: 2,153
30.01.2016, 21:54 #2
Цитата Сообщение от anti-k Посмотреть сообщение
Не могу доехать в само условие.
У каждого оператора может получиться произвольная возрастающая последовательность чисел, которые не встречаются ни у одного другого оператора.
Цитата Сообщение от anti-k Посмотреть сообщение
может ли случиться такая последовательность
Может.
0
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
30.01.2016, 22:36 #3
а что найти то надо ,входные/выходные данные есть?откуда задача вообще ,мб сайт есть?
0
anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
30.01.2016, 22:56  [ТС] #4
Dimension,
Это все что есть, это тестовое задание на собеседование. (Заметьте решаю сам , спрашиваю только по сути)
0
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
30.01.2016, 23:04 #5
насколько я понял нужно отсортировать по ID как можно быстрее
0
anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
30.01.2016, 23:17  [ТС] #6
Dimension,
Цитата Сообщение от Dimension Посмотреть сообщение
насколько я понял нужно отсортировать по ID как можно быстрее
я тоже так думаю, если не в курсе английского, я могу перевести но за качество результата не отвечаю , в общем если есть чего посоветовать( а у вас, я знаю, точно есть)кроме "пойти в армию" буду категорически признателен(кроме готового кода, пишу сам).

Добавлено через 3 минуты
Dimension, К стати не уверен что нужна сама сортировка. Пока делаю так: считываю минимальный ID,
затем сливаю в буфер.
0
Lawliet1
29 / 32 / 18
Регистрация: 30.09.2011
Сообщений: 202
Завершенные тесты: 1
30.01.2016, 23:42 #7
если я правильно понял у тебя N файлов от твоих операторов, сливаешь всю информацию в буфер, сортируешь и делаешь новый файл с результатом сортировки
0
anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
30.01.2016, 23:48  [ТС] #8
Lawliet1, А если входных данных много, сколько будет сортировать Гиг или два ?
0
Lawliet1
29 / 32 / 18
Регистрация: 30.09.2011
Сообщений: 202
Завершенные тесты: 1
31.01.2016, 00:02 #9
отсортировать не самая большая беда (хоть я и думаю что это основная цель этого задания)

я б допустим впал в ступор по другому вопросу: как прочитать N файлов... я просто не знаю)
допустим они все в одной папке, как их по очереди считывать.. какая функция???
0
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
31.01.2016, 00:06 #10
а они уже не отсортированы по условию ?может задача как склеить это все быстро ,смотря что еще в их понимание very large
0
anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
31.01.2016, 00:19  [ТС] #11
Цитата Сообщение от Dimension Посмотреть сообщение
задача как склеить это все быстро
Тоже так думаю. Не силен в алгоритмах, но какая сортировка застрахует от О(n2)??(кака бэ от экспоненты)

Добавлено через 1 минуту
Цитата Сообщение от Lawliet1 Посмотреть сообщение
как прочитать N файлов...
по наличию дескрипторов в папке
0
Lawliet1
29 / 32 / 18
Регистрация: 30.09.2011
Сообщений: 202
Завершенные тесты: 1
31.01.2016, 00:24 #12
Цитата Сообщение от anti-k Посмотреть сообщение
по наличию дескрипторов в папке
а можно кусок кода по этому поводу пожалуйста?)
это WinApi?
0
anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
31.01.2016, 09:14  [ТС] #13
Lawliet1,
Почему сразу WinApi?
Вот, писал когда то, при чем не без помощи cyberforum, показывает все содержимое с корня до папки
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<direct.h>
#include<cstring>
#include<io.h>
#define mode 0x10
using namespace std;
 
void check(char*dir)
{
    struct _finddata_t f;
    char*add = "\\*.*";
    intptr_t disc=0;
    char dirr[1000] = { 0 };
    sprintf(dirr, "%s%s", dir, "\\*.*");
    
    
    if ((disc = _findfirst(dirr, &f)) == -1L)
    {
        //cout << "can't open dir" << endl;
        return;
    }
    else
    {
        do
        {
            //cout << f.name << " " << f.size << endl;
            if(strcmp(f.name,".")!=0&&strcmp(f.name,"..")!=0)
                cout << f.name << " " << f.size << endl;
            if ((f.attrib&mode) != 0)
            {
                
                if (strcmp(f.name, ".") != 0 && strcmp(f.name, "..") != 0)
                    
                sprintf(dirr, "%s\\%s", dir, f.name);   
                //cout << dirr << "!!!!!!!" << endl;
                
                //cout << f.name << " " << f.size << endl;
            
            }   
            check(dirr);
            
        } while (_findnext(disc, &f) == 0);
        
        //check(dirr);
    }
    _findclose(disc);
}
int main()
{
    
    char*ch = new char[BUFSIZ]();
    strcpy(ch,"C:\\Users\\hp\\Documents\\Visual Studio 2015\\Projects");
    check(ch);
    return 0;
}
1
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
31.01.2016, 10:07 #14
Цитата Сообщение от anti-k Посмотреть сообщение
но какая сортировка застрахует от О(n2)??
merge , его можно распараллелить и получить n даже
smooth , худший nlogn ,если даные частично сортированы то за n может
1
anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
01.02.2016, 15:38  [ТС] #15
Вот пример как решил я, готовый код выложу когда все закончу
0
Миниатюры
Разъясните условие задачи  
Dimension
Dimension
573 / 443 / 221
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
01.02.2016, 15:48 #16
и за сколько работает ?не понятна ваша идея с выбором младшего
0
anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
01.02.2016, 15:52  [ТС] #17
Dimension,
Цитата Сообщение от Dimension Посмотреть сообщение
и за сколько работает
сейчас допишу, буду считать.
0
Байт
02.02.2016, 01:15
  #18

Не по теме:

Цитата Сообщение от anti-k Посмотреть сообщение
правда на англицком
Увы! У меня на это - идеосинкразия. Есть такое явление. И виноват не язык англицкий, а моя дура-учительница 5-го класса. Пусть ей земля будет пухом, но пусть и в гробу, засранка, поворочается!

0
sobolrip
0 / 0 / 0
Регистрация: 18.03.2016
Сообщений: 1
18.03.2016, 12:17 #19
anti-k, Привет! Даш код посмотреть?
0
18.03.2016, 12:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2016, 12:17

Объясните условие задачи
Подскажите пожалуйста, что требуется сделать в задании.

Непонятное условие задачи
Создать класс Array --- одномерный массив целых чисел c задаваемыми границами...

Объясните условие задачи
Опишите функцию деления двух чисел с плавающей запятой, обработайте ошибку...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru