Перейти к содержанию
    

Олимпиада программистов

Отправлял и с ... и с ...

Я позвонил человеку, который просил меня сделать перевод. Он сегодня не работает (в Израиле сейчас неделя праздников), поэтому сгодня проверить как так получилось не может. Вернется на работу во вторник.

Сопроводительное письмо было? На английском?

Изменено пользователем igorle

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сопроводительное письмо было? На английском?
Нет. Только код. А надо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скажите, а как можно переписать покрасивше вот это:

if ( b )  size_src = strlen( b ); else return;

 

В Libc вместо char используют Wchar. Приблизительно я понимаю о чем речь, но вот конкретно для данной задачи оно нужно?

Спасбио!

 

А чего её обдумывать?

Посмотрите реализацию memmove. В ней всё уже обдумано: если нет перекрытия то вызывается memcpy. Оптимальнее вряд ли напишете.

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

 

 

Вот такая реализация мне доступна. Если я не ошибаюсь, здесь несколько упрощена проверка перекрытия.

/*
* Copyright (C) 2002     Manuel Novoa III
* Copyright (C) 2000-2005 Erik Andersen <[email protected]>
*
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
*/

#include "_string.h"

#ifdef WANT_WIDE
# define Wmemmove wmemmove
#else
# define Wmemmove memmove
#endif

Wvoid *Wmemmove(Wvoid *s1, const Wvoid *s2, size_t n)
{
    register Wchar *s = (Wchar *) s1;
    register const Wchar *p = (const Wchar *) s2;

    if (p >= s) {
        while (n) {
            *s++ = *p++;
            --n;
        }
    } else {
        while (n) {
            --n;
            s[n] = p[n];
        }
    }

    return s1;
}

#ifndef WANT_WIDE
libc_hidden_def(memmove)
#endif

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

char* p;
size_t n = (p)? strlen(p) : 0;

 

Нет, в случае если указатель нулевой то выход из функции осуществить! Зачем ноль присваивать если это уже не имеет смысла в нашем контексте например!?

 

А зачем Вы используетет size_t, чем например int не подходит? (я понимаю, что это связано с важными моментами, но не ясно с какими)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можно и не делать выход а дальше выполнять алгоритм со значением 0...

Всё от задачи зависит.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет. Только код. А надо?

Нет, не надо.

Просто подумал, что если пришло письмо на русском, это могло их сбить с толку.

Я их буду трясти во вторник.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А зачем Вы используетет size_t, чем например int не подходит?

Самодокументирование кода.

Тем что int знаковый.

sizeof() возвращает size_t.

+

Посмотрите как написана libc.

Например посмотрите прототип memcpy. Видите какой тип у третьего аргумента?

Или что возвращает strlen. Ну и т.д. и т.п.

Вообщем если измеряется кол-во или размер самое место для size_t.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скажите, а как можно переписать покрасивше вот это:

if ( b )  size_src = strlen( b ); else return;

 

if ( !b )  return;
size_src = strlen( b );

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отправлял и с

demiurg_spb @ _ _ _.ru

и с

___ @ kipspb.ru

Посмотрели. Говорят, что с @kipspb.ru был один участник. Давно. Ответили ему в тот же день.

От demiurg_spb получили письмо только 28 марта. Были праздники, но скоро ответят (может быть уже ответили)

Очень удивлялись, что люди обсуждают на форуме и выкладывают решения конкурсных задач. Считают что это нелогичным. тем более, что конкурс продолжается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрели. Говорят, что с @kipspb.ru был один участник. Давно. Ответили ему в тот же день.

От demiurg_spb получили письмо только 28 марта. Были праздники, но скоро ответят (может быть уже ответили)

Очень удивлялись, что люди обсуждают на форуме и выкладывают решения конкурсных задач. Считают что это нелогичным. тем более, что конкурс продолжается.

 

Как так продолжается? А когда заканчивается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как так продолжается? А когда заканчивается?

Они этот процесс уже год как ведут. Можете посмотреть список "победителей". Там есть даты. Я не знаю, зачем он конечную дату публикуют, а потом корректируют. Хозяин - барин.

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

Изменено пользователем igorle

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрели. Говорят, что с @kipspb.ru был один участник. Давно. Ответили ему в тот же день.
Ничего не получил.

От demiurg_spb получили письмо только 28 марта. Были праздники, но скоро ответят (может быть уже ответили)
Вчера прислали оповещение, что получили моё решение и извинились за задержку. Но пока никаких результатов и комментариев...

 

Так что лучше свои решения не публиковать.
ок.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Получил таки ответ от них:

Thanks for taking the Hola Challenge! Our engineer has reviewed your solution, and I'd like to speak with you about the results. Please call me at ...

Хотелось бы спросить... C ними только на английском изъясняться можно или они и по-русски разумеют?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

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

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...