Вт, 19.09.2017, 18:16
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Сторінка 1 з 11
Модератор форуму: Ktara, НІКОЛЯ, Bandalak, volevikt 
Форум інформатиків » АРХІВ » Архів форуму » Спеціалісти по C, допоможіть! (Майже олімпіадна задача)
Спеціалісти по C, допоможіть!
Sopot Дата: Сб, 11.04.2009, 13:12 | Повідомлення № 1
Я тут недавно...
Повідомлень: 47
Нагороди: 0
Рейтинг: 2
Колишня школярка звернулась із задачею на Сі - є функція, на вхід якої передається вказівник на текстовий рядок, на виході маємо 1, якщо рядок той що треба, -1 - помилковий рядок, 0 - невідповідність даті (????). Який рядок слід передати, щоб отримати на виході 1?

int check(char *code)
{
int value = 0;
int i;
char crc1 = 0;
char crc2 = 0;
char codeddate[4];

if(strlen(code) != 6)
return -1;

for(i=3; i>=0; i--)
{
value |= code[i] & 0x07;
value = value << 3;
crc1 = (crc1 ^ code[i]) & 0x07;
}
value = value >> 3;
crc1 = 0x30 | crc1;
crc2 = 0x30 | (code[2] ^ code[3]);

if(crc1 != code[4])
return(-1);

if(crc2 != code[5])
return(-1);

codeddate[3] = 0x30 | (value & 0x000F);
value = value >> 4;

codeddate[2] = 0x30 | (value & 0x0001);
value = value >> 1;

codeddate[1] = 0x30 | (value & 0x000F);
value = value >> 4;

codeddate[0] = 0x30 | (value & 0x0003);
codeddate[4] = '\0';

if(atoi(codeddate) + 200 >= atoi(BUILD_DATE))
return(1);
else
return(0);
}

dpi Дата: Сб, 11.04.2009, 20:34 | Повідомлення № 2
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Функция связана с роверкой даты выпуска компилятора. Чисто техническая функция. Это не уровень школы и даже олимпиад.
Кроме того в программе есть ошибки.
gromko Дата: Сб, 11.04.2009, 23:26 | Повідомлення № 3
Лінуксоїд
Повідомлень: 2524
Нагороди: 25
Рейтинг: 325
444044
Форум інформатиків » АРХІВ » Архів форуму » Спеціалісти по C, допоможіть! (Майже олімпіадна задача)
Сторінка 1 з 11
Пошук:


© Форум інформатиків України, 2007-2017.