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

 
 
> Олимпиада программистов, Чистый С
igorle
сообщение Feb 25 2013, 09:05
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753



Не знаю, разрешено ли здесь такие сообщения давать. Но надеюсь, что модератор не обидится.
Знакомая компания проводит олимпиаду по программированию. Решили поискать программистов в русскоговорящем мире.

Меня попросили рассказать, где могу. А я только на этом форуме и бываю. Причем только в разделе для начинающих.
http://hola.org/challenge_ru.html

Надо написать две простые функции на чистом С.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Буратино
сообщение Mar 27 2013, 20:33
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Жаль что больше нет времени. 28го все закончится(
Вот моя последняя реализация. Прокачал защиту от NULL, оптимизировал некоторые участки и обдумал траблу с перекрытием данных в строках.

Код
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>

    
void str_cpy ( char **a, const char * b ) {

   int size_src;
   char overlap;
  
   if ( b ) size_src = strlen( b ) + 1; else return;
   overlap = (*a <= b && *a + size_src >= b) || (b <= *a && b + size_src >= *a);
   *a = realloc( *a, size_src );
   if ( overlap )  
      for (*a += size_src, b += size_src; size_src--; *--*a = *--b);
   else
       memcpy( *a, b, size_src );
}


void str_cat ( char **a,  const char *b ){
   int size_src, size_des;
      
   if ( *a ) size_des = strlen( *a ); else size_des = 0;
   if ( b )  size_src = strlen( b ); else return;
  
   *a = realloc( *a, size_src + size_des + 1 );
   memmove ( *a + size_des, b, size_src + 1 );
}

int main() {
   char *s = NULL;
  
   str_cpy( &s, "Hola Mola" );    
   str_cpy( &s, s+5 );      
   str_cat( &s," World" );  
  
   return 0;
}


Очень интересно как правильно, ждем ответ ответ на этот вопрос от организаторов! sm.gif

(EDIT: Утром немного допилил и исправил ошибки)


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Mar 28 2013, 05:19
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Буратино @ Mar 28 2013, 00:33) *
обдумал траблу с перекрытием данных в строках.
А чего её обдумывать?
Посмотрите реализацию memmove. В ней всё уже обдумано: если нет перекрытия то вызывается memcpy. Оптимальнее вряд ли напишете.
Я тоже отправил свой вариант в день размещения этой темы, но никакого ответа пока так и не получил. Завтра могу показать.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
igorle
сообщение Mar 28 2013, 06:01
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753



Цитата(demiurg_spb @ Mar 28 2013, 09:19) *
Я тоже отправил свой вариант в день размещения этой темы, но никакого ответа пока так и не получил.

Это странно. Они всегда отвечают если не в тот же день, то на следующий. Скажите, пожалуйста, свой емэйл. Можно частично. Я им прямо сейчас позвоню и спрошу как так получилось, что не ответили.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Mar 28 2013, 06:05
Сообщение #5


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(igorle @ Mar 28 2013, 10:01) *
Это странно. Они всегда отвечают если не в тот же день, то на следующий. Скажите, пожалуйста, свой емэйл. Можно частично. Я им прямо сейчас позвоню и спрошу как так получилось, что не ответили.
Отправлял и с
demiurg_spb @ _ _ _.ru
и с
___ @ kipspb.ru


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
igorle
сообщение Apr 2 2013, 16:08
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753



Цитата(demiurg_spb @ Mar 28 2013, 09:05) *
Отправлял и с
demiurg_spb @ _ _ _.ru
и с
___ @ kipspb.ru

Посмотрели. Говорят, что с @kipspb.ru был один участник. Давно. Ответили ему в тот же день.
От demiurg_spb получили письмо только 28 марта. Были праздники, но скоро ответят (может быть уже ответили)
Очень удивлялись, что люди обсуждают на форуме и выкладывают решения конкурсных задач. Считают что это нелогичным. тем более, что конкурс продолжается.
Go to the top of the page
 
+Quote Post
Буратино
сообщение Apr 2 2013, 17:55
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(igorle @ Apr 2 2013, 19:08) *
Посмотрели. Говорят, что с @kipspb.ru был один участник. Давно. Ответили ему в тот же день.
От demiurg_spb получили письмо только 28 марта. Были праздники, но скоро ответят (может быть уже ответили)
Очень удивлялись, что люди обсуждают на форуме и выкладывают решения конкурсных задач. Считают что это нелогичным. тем более, что конкурс продолжается.


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


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
igorle
сообщение Apr 2 2013, 19:33
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 338
Регистрация: 14-07-12
Пользователь №: 72 753



Цитата(Буратино @ Apr 2 2013, 20:55) *
Как так продолжается? А когда заканчивается?

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

Сообщение отредактировал igorle - Apr 2 2013, 19:35
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 5 2013, 05:20
Сообщение #9


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Получил таки ответ от них:
Цитата
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 ними только на английском изъясняться можно или они и по-русски разумеют?


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- igorle   Олимпиада программистов   Feb 25 2013, 09:05
- - SyncLair   Уж простите но как то лохотроном попахивает )   Feb 25 2013, 15:10
|- - igorle   Цитата(SyncLair @ Feb 25 2013, 19:10) Уж ...   Feb 25 2013, 15:49
- - SyncLair   Да я не про вашу репутацию. Я про фирму. Ей наверн...   Feb 25 2013, 16:01
|- - igorle   Цитата(SyncLair @ Feb 25 2013, 20:01) Да ...   Feb 25 2013, 16:18
||- - Слесарь   Цитата(igorle @ Feb 25 2013, 19:18) - ест...   Feb 26 2013, 16:54
||- - igorle   Цитата(Слесарь @ Feb 26 2013, 19:54) ... ...   Feb 26 2013, 17:06
||- - _Pasha   Цитата(igorle @ Feb 26 2013, 20:06) А воо...   Feb 26 2013, 17:12
||- - Слесарь   Цитата(igorle @ Feb 26 2013, 20:06) На ин...   Feb 26 2013, 17:27
||- - _Pasha   Цитата(Слесарь @ Feb 26 2013, 20:27) Наве...   Feb 26 2013, 17:34
|- - _Pasha   Цитата(SyncLair @ Feb 25 2013, 19:01) Чес...   Feb 25 2013, 16:22
|- - gerber   Цитата(SyncLair @ Feb 25 2013, 19:01) Чес...   Feb 26 2013, 12:10
- - ReAl   Причём совершенно непонятно, круче будет тот вариа...   Feb 25 2013, 19:21
|- - _Pasha   Цитата(ReAl @ Feb 25 2013, 22:21) Причём ...   Feb 26 2013, 09:48
|- - demiurg_spb   Цитата(ReAl @ Feb 25 2013, 23:21) Ну а st...   Feb 26 2013, 13:48
|- - ReAl   Цитата(demiurg_spb @ Feb 26 2013, 15:48) ...   Feb 26 2013, 13:56
||- - demiurg_spb   Цитата(ReAl @ Feb 26 2013, 17:56) А чо...   Feb 26 2013, 14:00
||- - ReAl   Цитата(demiurg_spb @ Feb 26 2013, 16:00) ...   Feb 26 2013, 14:47
|- - igorle   про str_printf: Цитата(demiurg_spb @ Feb 26 2...   Feb 26 2013, 15:41
- - Iptash   В функции str_cat перед конкатенации нужно Mundo е...   Feb 25 2013, 19:24
|- - igorle   Цитата(Iptash @ Feb 25 2013, 22:24) В фун...   Feb 25 2013, 20:00
|- - ReAl   Цитата(igorle @ Feb 25 2013, 22:00) В исх...   Feb 26 2013, 07:40
|- - ViKo   Цитата(igorle @ Feb 25 2013, 23:00) Откро...   Feb 26 2013, 09:37
|- - Lotor   Цитата(ViKo @ Feb 26 2013, 13:37) Ваши др...   Feb 26 2013, 11:43
- - Сергей Борщ   Мда... Олимпиада - высшее спортивное состязание. Т...   Feb 26 2013, 12:04
|- - igorle   Цитата(Сергей Борщ @ Feb 26 2013, 16:04) ...   Feb 26 2013, 12:51
|- - Сергей Борщ   QUOTE (igorle @ Feb 26 2013, 14:51) Если ...   Feb 26 2013, 13:46
- - _Pasha   Надо создать поток с переопределенной ф-цией putc(...   Feb 26 2013, 15:37
- - SSerge   А потом этих гениев примут в штат и посадят очедну...   Feb 26 2013, 15:55
|- - _Pasha   Цитата(SSerge @ Feb 26 2013, 18:55) Вот с...   Feb 26 2013, 16:01
- - Слесарь   Незнаю как и кто, но я ощущаю счастье в том, что п...   Feb 26 2013, 17:39
- - ViKo   Воры в законе?   Feb 26 2013, 17:51
|- - _Pasha   Цитата(ViKo @ Feb 26 2013, 20:51) Воры в ...   Feb 26 2013, 17:58
- - Буратино   Может вот так попробовать: Код#include <stdio...   Mar 18 2013, 10:08
|- - igorle   Цитата(Буратино @ Mar 18 2013, 14:08) Мож...   Mar 19 2013, 14:39
|- - Буратино   Цитата(igorle @ Mar 19 2013, 18:39) Я обе...   Mar 19 2013, 17:27
|- - demiurg_spb   Цитата(igorle @ Mar 19 2013, 18:39) Пока ...   Mar 20 2013, 05:17
|- - igorle   Цитата(demiurg_spb @ Mar 20 2013, 08:17) ...   Mar 20 2013, 07:09
- - skripach   ЦитатаНезнаю как и кто, но я ощущаю счастье в том,...   Mar 19 2013, 14:52
- - federal   На олимпиадное тут не тянет, даже далеко не тянет....   Mar 20 2013, 07:40
- - am1808   отправил ради интереса Кодvoid str_cpy( char*...   Mar 20 2013, 10:08
- - Буратино   Да, мне кое какие моменты нужно исправить.. Скажи...   Mar 20 2013, 10:09
|- - gerber   Цитата(Буратино @ Mar 20 2013, 13:09) Ска...   Mar 20 2013, 10:28
|- - msalov   Цитата(gerber @ Mar 20 2013, 13:28) Кодst...   Mar 22 2013, 06:10
- - am1808   размер типа правильно определять в runtime   Mar 20 2013, 10:13
|- - demiurg_spb   Цитата(am1808 @ Mar 20 2013, 14:13) разме...   Mar 20 2013, 10:17
||- - am1808   Цитата(demiurg_spb @ Mar 20 2013, 14:17) ...   Mar 20 2013, 10:25
|- - Буратино   Цитата(am1808 @ Mar 20 2013, 14:13) разме...   Mar 20 2013, 10:23
|- - aaarrr   Цитата(Буратино @ Mar 20 2013, 14:23) Но ...   Mar 20 2013, 10:27
||- - demiurg_spb   Цитата(aaarrr @ Mar 20 2013, 14:27) Далек...   Mar 20 2013, 10:39
||- - Огурцов   Цитата(demiurg_spb @ Mar 20 2013, 11:39) ...   Mar 21 2013, 11:58
||- - demiurg_spb   Цитата(Огурцов @ Mar 21 2013, 15:58) А у ...   Mar 21 2013, 12:20
||- - Буратино   Цитата(demiurg_spb @ Mar 21 2013, 16:20) ...   Mar 21 2013, 14:37
||- - igorle   Цитата(Буратино @ Mar 21 2013, 17:37) ...   Mar 21 2013, 14:44
||- - Буратино   Цитата(igorle @ Mar 21 2013, 17:44) Пробл...   Mar 21 2013, 15:10
||- - igorle   Цитата(Буратино @ Mar 21 2013, 18:10) А к...   Mar 21 2013, 15:52
|- - am1808   Цитата(Буратино @ Mar 20 2013, 14:23) Вид...   Mar 20 2013, 10:31
- - Буратино   am1808, если открыть реализацию realloc, то там по...   Mar 20 2013, 11:06
- - Буратино   Вот так еще можжно: Код#include <stdio.h> ...   Mar 21 2013, 11:54
- - am1808   нее, не прокатит, множитель в виде sizeof(char) ли...   Mar 22 2013, 07:18
- - Буратино   igorle, замечания обдумываю, но вот например не яс...   Mar 22 2013, 07:30
|- - igorle   Цитата(Буратино @ Mar 22 2013, 11:30) ......   Mar 22 2013, 07:52
- - Буратино   Если бы я мог как-то обезапасить строку от изменен...   Mar 22 2013, 11:28
- - federal   Буратино, какой же ты деревянный все таки   Mar 22 2013, 12:29
|- - Буратино   Цитата(federal @ Mar 22 2013, 15:29) Бура...   Mar 22 2013, 13:08
- - Буратино   igorle, Вы наверное хотели написать Код'...   Mar 25 2013, 11:29
- - igorle   Я Вас теряю. Вы пишите Цитатане ясно почему ...   Mar 25 2013, 14:18
- - Буратино   Сори, но я имел в виду именно '\0', ...   Mar 25 2013, 16:41
|- - ARV   Цитата(Буратино @ Mar 25 2013, 20:41) Кое...   Mar 25 2013, 18:15
|- - igorle   Цитата(Буратино @ Mar 25 2013, 19:41) Сор...   Mar 26 2013, 07:22
- - ar__systems   отправил им решение, посмотрим что ответят. Сделал...   Mar 27 2013, 15:12
|- - igorle   Цитата(demiurg_spb @ Mar 28 2013, 10:05) ...   Mar 28 2013, 06:16
||- - demiurg_spb   Цитата(igorle @ Mar 28 2013, 10:16) Сопро...   Mar 28 2013, 06:23
||- - igorle   Цитата(demiurg_spb @ Mar 28 2013, 09:23) ...   Mar 28 2013, 06:53
||- - igorle   Цитата(demiurg_spb @ Apr 5 2013, 08:20) П...   Apr 5 2013, 08:13
|- - demiurg_spb   Цитата(igorle @ Apr 2 2013, 20:08) Посмот...   Apr 3 2013, 05:16
- - Буратино   Скажите, а как можно переписать покрасивше вот это...   Mar 28 2013, 06:40
|- - demiurg_spb   Кодchar* p; size_t n = (p)? strlen(p...   Mar 28 2013, 06:40
||- - Буратино   Цитата(demiurg_spb @ Mar 28 2013, 09:40) ...   Mar 28 2013, 06:45
||- - demiurg_spb   Цитата(Буратино @ Mar 28 2013, 10:45) А м...   Mar 28 2013, 06:48
||- - demiurg_spb   Цитата(Буратино @ Mar 28 2013, 10:45) А з...   Mar 28 2013, 07:00
|- - ar__systems   Цитата(Буратино @ Mar 28 2013, 01:40) Ска...   Mar 28 2013, 12:54
- - Буратино   Да, нужно почитать что-то на эту тему. Спс.   Mar 28 2013, 07:11
- - Буратино   Так чем дело кончилось? Какое правильное решение?   May 17 2013, 10:41
|- - ARV   Цитата(Буратино @ May 17 2013, 14:41) Так...   May 18 2013, 18:17
|- - igorle   Цитата(Буратино @ May 17 2013, 13:41) Так...   May 19 2013, 20:02
- - Буратино   Для меня важно понять: правильное решение лежит ис...   May 20 2013, 12:01
- - igorle   Цитата(Буратино @ May 20 2013, 15:01) Для...   May 20 2013, 17:07
- - Idle   Цитата(igorle @ May 20 2013, 21:07) 119 п...   May 20 2013, 18:54


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 13:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01539 секунд с 7
ELECTRONIX ©2004-2016