LINUX.ORG.RU

не могу решить простую задачу на codewars

 ,


0

1

вот задача:

https://www.codewars.com/kata/526dbd6c8c0eb53254000110/train/c

вот мои 2 решения, оба дают ошибку на 9-м тесте

bool alphanumeric(const char* strin)
{
	unsigned int i;
	unsigned char c;
	for (i = 0; (c = strin[i]); i++) {
		if (c < '0')
			return false;
		if (c > '9' && c < 'A')
			return false;
		if (c > 'Z' && c < 'a')
			return false;
		if (c > 'z')
			return false;
	}
	return true;
}

второе

bool alphanumeric(const char* strin)
{
	unsigned int i;
	unsigned char c;
	for (i = 0; (c = strin[i]); i++) {
		if (!isalnum(c))
			return false;
	}
	return true;
}

пишет, что ожидается false, а функция возвращает true, вроде ничего не должно проскочить, не пойму, почему не работает?

★★★

Ответ на: комментарий от IvanR

Козлы, по моему, составляли задачу

А в чём проблема? Они гарантируют только наличие строки (т. е. указатель не может быть равным нулю), а не то, что по этому указателю будет что-то, кроме нуля. По-моему, обычное условие. А то, что ты цитируешь, это всего лишь признак, по которому ты принимаешь решение о том, соответствует ли строка требованиям или нет

XMs ★★★★★
()
Последнее исправление: XMs (всего исправлений: 1)
Ответ на: комментарий от t184256

Ты спрашивал кто болеет за Эльбрус…

Я болею за Эльбрус, но при условии что там и рядом нет будет официальных отделов представителей слабовиков.

За Астру, когда сцаными тряпками отправят верхушку на скамью подсудимых и разберутся откуда деньги.

За Альт, когда их товар начнет интересовать реальный бизнес, а не реальные шуоло-библиотеки. Но что-то глухо там, видимо слабовая крыша в слабовом государстве слабая.

Ещё раз, направления отличные всеми руками «за», но люди которые их координируют и принимают решения те же, что и на АвтоВАЗе.

Надеюсь, что ответил ясно.

ЗЫ слабовики хоронят всё до чего дотягивается, иного история нашей страны не знает, а крайними делают профессоров или начальников участка, лол! Ппуфы все, конечно, есть, и они на поверхности. Страшно даже думать о том, что там в глубине.

anonymous
()

if (!isalnum(c))

Читер! Вот, за две минуты написал.

bool alphanumeric(const char* strin) {
  if(*strin == '\0')
    return false;
  
  for(; *strin != '\0'; strin++) {
    if(*strin >= '0' && *strin <= '9')
      continue;
    if(*strin >= 'a' && *strin <= 'z')
      continue;
    if(*strin >= 'A' && *strin <= 'Z')
      continue;
    
    return false;
  }
  
  return true;
}
hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от peregrine

когда IRL всякое очень плохое происходит, да ещё не с тобой, а с близкими тебе людьми и ты бессилен им помочь.

Тут и без математики с айти кукушечка поедет. Держись давай.

@IvanR имхо, пнд так себе вариант (лично мой опыт печальный). Терапевта бы хорошего найти лучше.

депрессии у меня нет, мне просто всё настоебало до предела

Да вот похоже что как раз она. В этом ничего стыдного нет, биохимия мозга ломается. Надо чинить и все будет путем.

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

Пздц слов нет. Сервис по-русски.

frunobulax ★★
()
Ответ на: комментарий от IvanR

Держись чувак. У тебя тоже депрессия судя по этому комментарию и может даже хуже чем у меня. Попробуй работу новую после Нового года найти, может даже из другой серии, образ жизни постарайся поменять. Знаю что плохо помогает, по себе. Особенно когда не хочется что-то менять, но надо попробовать, иначе ничего не поможет.

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

«Да это бездельники так говорят. Какая может быть депрессия в наше время! Иди на стройку работай, купи заброшенное поле и засади картофелем, потом его надо пропалывать, а затем выкапывать. Если нет своего ребёнка, возьми из детского дома, и сразу вся депрессия пройдёт», — отметил Конюхов. Он добавил, что читал где-то о женщине в Китае, которая купила участок промышленной земли и за свою жизнь посадила 1 млн деревьев. «Вот это точно не зря прожитая жизнь. Уверен, у неё не было депрессии», — указал путешественник. По словам Конюхова, путешествия не могут вылечить человека от уныния, поскольку невозможно убежать от себя и своих проблем в горы или океан. «Человек рано или поздно вернётся к себе, ведь главное путешествие его жизни — это сама жизнь», — пояснил исследователь. https://lenta.ru/articles/2021/12/09/konuhov/

mydibyje ★★★
()
Ответ на: комментарий от pinus_nigra

пробовал, вообще не помогает, я по 150 мг тизерцина выпиваю на ночь, весь следующий день в гавно

IvanR ★★★
() автор топика
Ответ на: комментарий от frunobulax

Пздц слов нет. Сервис по-русски.

один бегал по коридору и орал во все горло, так нам, больным, пришлось его держать, пока ему укол делают))) мужиков почему-то медбратьев и санитаров нет вообще, в общем, это ад какой-то, никогда туда не попадайте

IvanR ★★★
() автор топика
Ответ на: комментарий от mydibyje

А чем наше время отличается от других?
Какие-то у него странные высказывания - купи поле и сажай картошку, на бред похоже.

xmikex ★★★★
()
Ответ на: комментарий от IvanR

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

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

по условию пустая строка проверку не должна проходить

ладно, пусть не должна проходить, но разве это не означает, что ф-ция, когда встречается такая строка, должна вернуть true? или false? раз строка не проверяется, то допустимо вернуть любое из 2-х значений? я конечно понимаю, что не выполнил задание, но что-то мне подсказывает, может быть плохое знание английского, что условие поставлено с ошибками?

IvanR ★★★
() автор топика
Ответ на: комментарий от IvanR

мм, наверное у нас недопонимание термина «не прошла проверку». Это не в смысле, что проверка не должна выполняться. А в смысле результат проверки - false.

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

да, теперь все становится на свои места и условие задачи тоже)))

IvanR ★★★
() автор топика
Ответ на: комментарий от IvanR

Означает. Поэтому твоя функция на такую строку должна вернуть false. А у тебя возвращается true. В этом и ошибка: тут нет ни слова о том, что такие строки не будут подавать на вход, тут просто указание, что такая строка не подходит под условия

XMs ★★★★★
()
Ответ на: комментарий от peregrine

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

но я, по крайней мере, не виню американцев в своих неудачах, полностью беру на себя ответственность за свои неудачи, стараюсь брать

IvanR ★★★
() автор топика
Последнее исправление: IvanR (всего исправлений: 1)
Ответ на: комментарий от XMs

теперь понятно, я криво понял условие задачи

IvanR ★★★
() автор топика
Ответ на: комментарий от peregrine

А воздух хочется вдыхать? Или не вдыхается? Воздух это как бы одна из форм еды.

mydibyje ★★★
()
Последнее исправление: mydibyje (всего исправлений: 1)
Ответ на: комментарий от IvanR

по всем параметрам провалился

Подобное максималистское суждение говорит или о заниженной самооценке или о намеренном преувеличении плачевности своего состояния с целью получить больше внимания. (Потому что на мой взгляд у вас хотя бы есть руки и связная речь в 40 лет, в отличие от тех кто к этому возрасту уже лежит на погосте). Для путей решения первого состояния, а тут нужно приводить ментальные модели в своей голове к трезвой оценке своего положения, советую почитать Бернс «Хорошее самочувствие».

mydibyje ★★★
()
Последнее исправление: mydibyje (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.