LINUX.ORG.RU

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

Наводящий вопрос: «Что делает любой return этой программе?»

anonymous ()

Там только одна функция main(), стоит прочитать или просто подумать про то, как правильно сделать и использовать вторую. Сейчас вторая как бы «встроена» в главную, в этом вся беда.

xaizek ★★★★★ ()

Потомушта это бред. Если это Си, то зачем там и using std и нафига там вообще <conio.h> и что за фигня в 7, 8, 9?

anonymous ()

Твой return завершает программу до того как что либо вывести

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

а что, мне как Ъ каждый раз писать std::?

Ъ указал бы тег «си++» а не «си»!

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

переделал

Очень похоже на троллинг в стиле Елизаветы.

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

а что, мне как Ъ каждый раз писать std::?

В Си нет никаких std::

переделал

Ёлки, да тут вообще ни в зуб ногой.. Саму функцию кто вызывать будет? Как по вашему работает проверка в 23?

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

Если это Си, то зачем там и using std

и нафига там вообще <conio.h>

и что за фигня в 7, 8, 9?

+1 к каждому вопросу.

а что, мне как Ъ каждый раз писать std::?

Например, какая строка не сработает если удалить using namespace?

Kroz ★★★★★ ()
Последнее исправление: Kroz (всего исправлений: 2)

Во-первых, судя по ряду признаков, у тебя там не чистый Си, а C++. Это внезапно два разных языка, хотя они и позволяют «писать на C++ в стиле C», но для себя ты должен отличать.

Во-вторых, это не паскаль, тут нельзя просто так вставлять одну функцию в другую. (В C++11 появились лямбды, но это не совсем то.) Ты должен свою isPrime() как она у тебя там определить как глобальную, а потом из main() вызывать.

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

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

Потому что кто-то делает домашку путем копипасты ручным набором из допотопных книг по Си.

Ах если бы это было так… Тогда бы у него не было ни using namespace, ни < iostream >.

Он там ещё и книгами C++ сверху бодяжит.

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

Ах если бы это было так…

Создал консольный проект в каком-нибудь новомодном ide, который создал шаблонный main с кучей хедеров. Удалил непонятное, перепечатал непонятное из книги с собственными художественными вставками. Получил то, что получилось.

Но, скорее всего, это тролль.

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

facepalm.cpp

Подумай сам, как это работает. Подсказка: ты теперь функцию определил, но нигде её не вызываешь.

Это не говоря о том, что то n, которое параметр функции и то, которому ты присвоил 4 — это два разных n.

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

а что, мне как Ъ каждый раз писать std::?

Да. Иначе будут коллизии.

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

Анон, а какие сейчас книжки по си (не по плюсам) вообще востребованы?

Я к K&R не хочу посылать потому, что пример «функция main() вызывает другую» у них, конечно, есть, вот только объявление параметров функции там в архаичном стиле без типов. ТСа это окончательно запутает, у него и так каша в голове…

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

if (true)

facepalm.cpp

Я так иногда делаю чтобы отключать код, при этом чтобы компилятор его по прежнему проверял. Ещё есть варианты: if (true || (<condition>)), if (false && (<condition>)).

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

Посмотри, как написать простую программу из двух функций.

Вот пусть сперва напишет простую программу даже без дополнительных функций, выводящую просто «hello purgen». Только после этого можно продолжить разговор.

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

Ах если бы это было так… Тогда бы у него не было ни using namespace, ни < iostream >.

У него скорее всего какие-то древние книги по Borland Turbo C++ под DOS.

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

Я к K&R не хочу посылать потому … объявление параметров функции там в архаичном стиле без типов

Нового переиздания для более новых стандартов Си нет? Для книг Вирта например есть.

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

Почитай, как в Си вообще производится вызов функции с параметрами. Именно вызов, с объявлением ты вроде как справился.

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

for (int i = 2; i < n; i++) => for (int i = 2; i < n << 1; i++)

Все-таки он же урбанист, а не портретист.
anonymous ()
Ответ на: комментарий от PURGEN143

Ну тогда всё же замечу, что операции сравнения уже возвращают логическое значение. Т.е. вместо

bool tmp = (n > 1) ? true : false;

ты вполне мог написать просто

bool tmp = (n > 1);

Название tmp мне тоже не особо нравится, оно вызывает ассоциацию с чем-то временным или отладочным, что потом будет выброшено из программы. Я бы назвал эту переменную res (от result). Но это уже вопрос стиля.

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

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

В ОП старый вариант, он ниже ссылку на более новый кидал. Сбивает с толку, да.

hobbit ★★★★★ ()

без ошибок отрабатывает

Спорим ты хотел сказать «не падает»

ya-betmen ★★★★★ ()
Ответ на: комментарий от Begemoth

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

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

if (0) полезно для того, чтобы не брать строку/строки в комментарии …

Например:

 if (0)
 while () {
  ...

 }

Владимир 123

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

Хорошо ржёт тот, кто ржёт последним. ТС по нашим подсказкам разобрался и написал-таки рабочий (хоть и не совсем оптимальный) код, а об авторе твоего комментария известно только одно: пришёл, нагадил, ушёл.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)

ТС норм траль, некоторые даже повелись…

spock74 ()

Вот именно для этого в DrWEB давали соискателям простенькое тестовое задание перед всякими интервью.

По-моему, рассказывал уже, но от повторения хуже не будет: мой любимый пример факапа был, когда ответ на тестовое задание скомпилировался, но экзешника мы после этого не нашли.

Miguel ★★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.