LINUX.ORG.RU

Чо надо-то?

Если найти пропущенные из конечного небольшого диапазона, то проще завести массив-счетчик и инкрементировать его i-й член при обнаружении числа i.

Eddy_Em ☆☆☆☆☆ ()

примерно так. допилите сами.

FILE *in;
int num, num_prev;

if ((in = fopen("blablabla.txt", "r")) != NULL)
{
    num_prev = 0;
    while (!feof(in) && fscanf(in, "%d", &num))
    {
        while (num > num_prev + 1)
        {
            printf("OMG! %d is missed...\n", num_prev + 1);
            num_prev++;
        }
        num_prev = num;        
    }
}
rha ()
Ответ на: комментарий от Eddy_Em

ну вот счетчик. надо чтобы при нахождении хотябы одного числа был вывод его на экран и exit. Можете на примере показать?

alex2m ()
Ответ на: комментарий от alex2m

Если числа отсортированы, пример выше уже привели.

Eddy_Em ☆☆☆☆☆ ()

Попробуй Erlang.

anonymous ()
Ответ на: комментарий от anonymous

Попробуй Erlang.

Совсем на лоре тролли разжирели. ТС, не слушай его, тут не нужен эрланг.

Попробуй лисп.

anonymous ()
Ответ на: комментарий от anonymous

Попробуй лисп.

Можно написать драйвер для iterate для пересчета определённых чисел в текстовом файле.

(iterate (for numbers in "file.txt")
  (calculate-some numbers))
anonymous ()
Ответ на: комментарий от anonymous

Спасибо, тёзка, попробовал. Мне понравилось, приглашаю любителей на пир духа :-)

(in «/tmp/seq» (let L (make (until (eof) (link (read)))) (diff (range (car L) (last L)) L))) -> (4 5)

anonymous ()

говнокод на питоне )

numbers = [1,5,9,12]
res = []

for i in range(numbers[-1] - 1):
  if numbers[i] != numbers[i+1] - 1:
    numbers.insert(numbers[i], numbers[i] + 1)
      res.append(numbers[i] + 1)
		
print(numbers)
print(res)

crunchy_crow ()
Ответ на: комментарий от crunchy_crow
data = [1,2,3,6,7,8,10]

result = set(range(data[0], data[-1] + 1)) - set(data)
print(result) # {9, 4, 5}
anonymous ()

для плюсов:

ifstream file("filename");
int current, expected = 1;

while(file >> current) {
	while(current > expected)
		cout << "missed: " << expected++ << endl;
	if(current == expected)
		expected++;
}

son_of_a_gun ()
Ответ на: комментарий от Harald

это picolisp

на Common Lisp будет раза в 3 длиннее, поскольку уж очень он Common

anonymous ()
Ответ на: комментарий от anonymous

это picolisp

А это тот тормозной скриптовый недоязычок, в котором даже макросов нет?

anonymous ()
Ответ на: комментарий от anonymous

на хрена попу гармонь, коли есть кадило?

А коль сильно томозит, смени прокладку между стулом и клавой.

anonymous ()
Ответ на: комментарий от anonymous

А коль сильно томозит, смени прокладку между стулом и клавой.

Ага-ага, у меня в рантайме будет максимально эффективный код, а у тебя на каждый чих будет интерпретироваться нахрен ненужная неведомая фигня.

anonymous ()
Ответ на: комментарий от anonymous

Помечтай, пока будешь расставлять объявления что, какого типа, как оптимизировать по скорости или по потребляемой памяти, с какими параметрами открывать файл, какие библиотеки подключить, как разрешить конфликты межу ними и прочую лабуду - то программа превратится в нечитаемое месиво, а у тебя отпадет всякое желание доводить ее до ума. И никакого кода у тебя не будет вообще.

А что касается скорости лисп интерпетаора, то она весьма высока. То есть большая часть времени тратится внутри низкоуровневых примитивов, написанныъ на с или ассемблере, а не на клей между ними.

anonymous ()
Ответ на: комментарий от anonymous

Я про макросы говорил. У тебя все абстракции будут раскрываться в рантайме.

Хотя да, зачем сложные абстракции язычку для однострочников и мелкой скриптоты. Или ты всерьез воспринимаешь его как конкурента боевому CL?

anonymous ()
Ответ на: комментарий от anonymous

Я про макросы говорил. У тебя все абстракции будут раскрываться в рантайме.

1. Абстракция != макрос

2. У интерпретатора другого времени кроме рантайма и нет

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

зачем сложные абстракции язычку для однострочников и мелкой скриптоты.

чтобы оставаться выразительным и удобым в работе :)

К счастью в pico их достаточно ,чтобы преревести большой и неподъёмный проэктище в разряд мелкой скриптотыили студенческой поделки. И вовсе не обязательно на каждый чих городить малопонятные для не посвященных кружева из макросов, выкидывающие ненужную общность из очень Common окружения

боевому CL

мне бы очень хотелость посмотреть на тот же SBCL, управляющий зенитной ракетой или реализованный на FPGA

Но ты прав, эти языки дополняют друг друга

anonymous ()
Ответ на: комментарий от anonymous

SBCL ... реализованный на FPGA

Хм, мне как-то хотелось собрать лисп машину на FPGA, так как те лисп машины что остались до наших дней прилично отстали от обычных компов, а по цене ничуть не дешевле. Но это так, на помечтать.

q0tw4 ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.