IPB

Здравствуйте, гость ( Вход | Регистрация )

> Кто же все-таки лучше знает СИ? ;), Разговор программистов... ;)
BrainWorker
сообщение 4.7.2005, 20:50
Сообщение #1


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



Цитата(Б. Евгений В. @ Jul 4 2005, 14:59)
#include <stdio.h>

main()
{
printf("Молодец. Моя твоя понимай )))\n");
return (0);
}
*

У тя будет compiler error, поскольку функция main ничё не вертает. А судя по алгоритму, она у тя должна вертать int.


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
2 страниц V   1 2 >  
Открыть новую тему
Ответов (1 - 31)
Дмитрий И.
сообщение 4.7.2005, 21:16
Сообщение #2


Оргкомитет МР
***

Группа: Админ
Сообщений: 9110
Регистрация: 25.11.2004
Из: Подмосковье
Пользователь №: 5
Вероисповедание: Православие, РПЦ
Молодежная организация: Молодая Русь, Москва



Цитата(BrainWorker @ Jul 4 2005, 20:50)
У тя будет compiler error, поскольку функция main ничё не вертает. А судя по алгоритму, она у тя должна вертать int.
*

Это смотря в каком компиляторе компилировать wink.gif !
Тут у нас на фоуруме все по-другому не так как везде wink.gif , да-да, и компиляторы другие wink.gif !


--------------------
"Я понял в чем ваша беда - вы слишком серьезны. Умное лицо это еще не признак ума, господа!
Все глупости на Земле делаются именно с этим выражением лица.

Улыбайтесь, господа!!!
Улыбайтесь!!!"


Из фильма "Тот самый Мюнхаузен"
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
В. Евгений Б.
сообщение 5.7.2005, 9:20
Сообщение #3


Активный участник
***

Группа: Участники
Сообщений: 742
Регистрация: 30.11.2004
Из: г. Москва
Пользователь №: 25
Вероисповедание: Православие, РПЦ
Молодежная организация: Молодая Русь, Москва



Цитата(BrainWorker @ Jul 4 2005, 21:50)
У тя будет compiler error, поскольку функция main ничё не вертает. А судя по алгоритму, она у тя должна вертать int.
*


Сергей, советую тебе хорошо выспаться и посмотреть на этот тривиальный кусочек кода внимательнее )
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 5.7.2005, 11:45
Сообщение #4


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



Цитата(Б. Евгений В. @ Jul 5 2005, 9:20)
Сергей, советую тебе хорошо выспаться и посмотреть на этот тривиальный кусочек кода внимательнее )
*

Я те говорю!!! Функция ничё не вертает судя по прототипу, а не телу.
Прототип надо было написать так

Код
int main()
{
<тело>
}


a не

Код
main()
{
<тело>
}


P.S. Сам посмотри на свой прототип, и лучше сам выспись smile.gif


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Natascha
сообщение 5.7.2005, 13:05
Сообщение #5


Активный участник
***

Группа: Участники
Сообщений: 2040
Регистрация: 17.3.2005
Пользователь №: 80
Вероисповедание: Православие, РПЦ
Молодежная организация: Не в организации



Ребята, может вам отдельную тему заведете, где будете технические моменты обсуждать. А то уже не первая тема переходит плавно на фотографии и програмирование smile.gif


--------------------


три лапочки дочки и чудо сыночек

о семье говорят здесь http://www.roditel.info/
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 5.7.2005, 13:18
Сообщение #6


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



Цитата(Natascha @ Jul 5 2005, 13:05)
Ребята, может вам отдельную тему заведете, где будете технические моменты обсуждать. А то уже не первая тема переходит плавно на фотографии и програмирование  smile.gif
*

Я бы сделал. Но я не модератор, чтобы перенести туда посты из этой темы.


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
В. Евгений Б.
сообщение 6.7.2005, 9:44
Сообщение #7


Активный участник
***

Группа: Участники
Сообщений: 742
Регистрация: 30.11.2004
Из: г. Москва
Пользователь №: 25
Вероисповедание: Православие, РПЦ
Молодежная организация: Молодая Русь, Москва



Цитата(BrainWorker @ Jul 5 2005, 12:45)
P.S. Сам посмотри на свой прототип, и лучше сам выспись 
*


В ANSI C если для функции явно не указан тип возвращаемого значения, то по умолчанию предполагается, что это int.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 6.7.2005, 12:10
Сообщение #8


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



Да, ты прав. Но всё же лучше явно указывать тип вертаемого значения, чтобы не было путаницы.
Раньше на чистых сях кодил, а ваще я плюс-плюснутый программер smile.gif


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Дмитрий И.
сообщение 6.7.2005, 12:26
Сообщение #9


Оргкомитет МР
***

Группа: Админ
Сообщений: 9110
Регистрация: 25.11.2004
Из: Подмосковье
Пользователь №: 5
Вероисповедание: Православие, РПЦ
Молодежная организация: Молодая Русь, Москва



Эта тема создана специально для желающих, которые хотели бы вдоволь поговорить о воросах программирования, чтобы им ни кто не мешал, и чтобы все-таки выяснить: кто же СИ знает лучше, а кому - лучше поспать wink.gif biggrin.gif biggrin.gif .


--------------------
"Я понял в чем ваша беда - вы слишком серьезны. Умное лицо это еще не признак ума, господа!
Все глупости на Земле делаются именно с этим выражением лица.

Улыбайтесь, господа!!!
Улыбайтесь!!!"


Из фильма "Тот самый Мюнхаузен"
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 6.7.2005, 12:43
Сообщение #10


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



О! Ура!
Наконец-то можно оторваться!

Вот такой вопросик всем программерам форума. На сколько я понимаю, кроме меня еще и Б.Евгения В. программит. А мож и еще кто. Короче, народ, присоединяйтесь wink.gif

Ну так вот. Простенький вопросик, как говорится на засыпку...

Из серии программирования в UNIX

Код
int main()
{
  if (fork())
     printf("1\n");
  else
     printf("2\n");
}


Что будет напечатано на экране??? smile.gif

P.S. fork() создает детский процесс - копию родительского.


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 6.7.2005, 14:59
Сообщение #11


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



Эх, так хотелось написать то, что я сейчас пишу здесь, в теме "Ложь во спасение", но ладно, напишу здесь, а то меня опять обвинят, что я говорю не в тему smile.gif wink.gif

Ложь - это когда что-то равно нулю smile.gif


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 6.7.2005, 21:01
Сообщение #12


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



А вот еще задачка.... smile.gif

Знаете ли алгоритм, обменивающий значения переменных без использования мозгов - ни дополнительной переменной, ни стека, ни расширения размера переменных, т.е. ваще не задействуя мозги ??? smile.gif


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Nikolas
сообщение 7.7.2005, 17:47
Сообщение #13


Активный участник
***

Группа: Участники
Сообщений: 369
Регистрация: 25.2.2005
Из: Lytkarino
Пользователь №: 74
Вероисповедание: Православие, РПЦ
Молодежная организация: Не в организации



Цитата(BrainWorker @ Jul 6 2005, 12:43)
Код
int main()
{
  if (fork())
     printf("1\n");
  else
     printf("2\n");
}


будет напечатано:
Код
2
1

ну или:
Код
1
2


Вообщето в линуксе утверждение что ложь-это когда что-то равно нулю, не совсем верно, форк возвращает ноль при нормальном выполнении как и многие другие функции. tongue.gif

А по поводу второй задачи:
Код
x=x+y
y=x-y
x=x-y

Но будет работать только с численными переменными, а если что-то другое, то наверно неполучиться. wink.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 7.7.2005, 18:38
Сообщение #14


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



На счет задачи с форками, всё верно. smile.gif

А вот обмен значений переменных - не верно!!! Твой алгоритм будет не всегда рабоать даже с численными значениями. Подумай хорошенько wink.gif


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Дмитрий И.
сообщение 7.7.2005, 19:11
Сообщение #15


Оргкомитет МР
***

Группа: Админ
Сообщений: 9110
Регистрация: 25.11.2004
Из: Подмосковье
Пользователь №: 5
Вероисповедание: Православие, РПЦ
Молодежная организация: Молодая Русь, Москва



Ну, вот, не выдержал и тоже подключаюсь к разговору wink.gif .
Цитата(BrainWorker @ Jul 7 2005, 18:38)
А вот обмен значений переменных - не верно!!! Твой алгоритм будет не всегда рабоать даже с численными значениями. Подумай хорошенько
*

Это почему же?
Из-за возможного переполнения разрядности?
Если программная среда не будет генерить ошибку - то все будет работать даже и при переходе через 0 wink.gif .
Или, можно использовать побитную операцию XOR - исключающее ИЛИ.
А:=A XOR B
B:=B XOR A
A:= B XOR A


--------------------
"Я понял в чем ваша беда - вы слишком серьезны. Умное лицо это еще не признак ума, господа!
Все глупости на Земле делаются именно с этим выражением лица.

Улыбайтесь, господа!!!
Улыбайтесь!!!"


Из фильма "Тот самый Мюнхаузен"
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 7.7.2005, 19:31
Сообщение #16


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



Цитата(Дмитрий И. @ Jul 7 2005, 19:11)
А:=A XOR B
B:=B XOR A
A:= B XOR A
*

А вот это соверешенно верно. Это будет работать всегда и даже с указателями, если их предварительно реинтерпретировать к числам. smile.gif


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Дмитрий И.
сообщение 7.7.2005, 19:37
Сообщение #17


Оргкомитет МР
***

Группа: Админ
Сообщений: 9110
Регистрация: 25.11.2004
Из: Подмосковье
Пользователь №: 5
Вероисповедание: Православие, РПЦ
Молодежная организация: Молодая Русь, Москва



Интересно, то, что существуют различные алгоритмы, которые работают верно, но, вот понять и объяснить принцип их работы, лично я, затрудняюсь.
Например, алогрим деления двух чисел реализованный только на арифметических и логических операциях (на ассемблере). И еще есть несколько других алгоритмов.


--------------------
"Я понял в чем ваша беда - вы слишком серьезны. Умное лицо это еще не признак ума, господа!
Все глупости на Земле делаются именно с этим выражением лица.

Улыбайтесь, господа!!!
Улыбайтесь!!!"


Из фильма "Тот самый Мюнхаузен"
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 8.7.2005, 0:20
Сообщение #18


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



Цитата(Nikolas @ Jul 7 2005, 17:47)
Вообще-то в линуксе утверждение что ложь-это когда что-то равно нулю, не совсем верно, форк возвращает ноль при нормальном выполнении как и многие другие функции. tongue.gif
*

К сведению. Функции, возвращающие ноль при нормальном выполнении, на самом деле возращают число - код ошибки, а не булево значение. Так что возвращенный ноль в данном случае не имеет ничего общего с ложью. tongue.gif
Так что я не ошибся. wink.gif


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
3aHyga
сообщение 18.7.2005, 12:48
Сообщение #19


Активный участник
***

Группа: Участники
Сообщений: 120
Регистрация: 29.11.2004
Из: Стольный град Москов
Пользователь №: 18
Вероисповедание: Православие, РПЦ
Молодежная организация: Не в организации



Цитата(BrainWorker @ Jul 6 2005, 22:01)
Знаете ли алгоритм, обменивающий значения переменных без использования мозгов - ни дополнительной переменной, ни стека, ни расширения размера переменных, т.е. ваще не задействуя мозги ??? smile.gif
*


x ^= y ^= x ^= y;
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 19.7.2005, 21:54
Сообщение #20


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



Цитата(3aHyga @ Jul 18 2005, 12:48)
x ^= y ^= x ^= y;
*

Это то же самое, что и выше, но записано в одну строчку. Оригинально! Мне понравилась такая запись. smile.gif


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
FanTom
сообщение 19.7.2005, 23:21
Сообщение #21


Участник
**

Группа: Участники
Сообщений: 41
Регистрация: 2.5.2005
Пользователь №: 114
Вероисповедание: Другое
Молодежная организация: Не в организации



BrainWorker, давай еще задачки, а то я все старое пропустил!


--------------------
Люблю, надеюсь, верю я,
Что ты придешь, любовь моя...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 19.7.2005, 23:55
Сообщение #22


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



Пожалуйста smile.gif

Как обнулить только младший бит числа, в одну команду, если размерность числа не известна (т.е. или 8 бит, или 16 бит, или 32 бита, или 64 бита) ?


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Nikolas
сообщение 21.7.2005, 14:49
Сообщение #23


Активный участник
***

Группа: Участники
Сообщений: 369
Регистрация: 25.2.2005
Из: Lytkarino
Пользователь №: 74
Вероисповедание: Православие, РПЦ
Молодежная организация: Не в организации



Может так?
x &= x - 1;
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 21.7.2005, 14:51
Сообщение #24


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



Цитата(Nikolas @ Jul 21 2005, 14:49)
Может так?
x &= x - 1;
*

Совершенно верно smile.gif

Опять Fantom опоздал smile.gif


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
3aHyga
сообщение 23.7.2005, 13:44
Сообщение #25


Активный участник
***

Группа: Участники
Сообщений: 120
Регистрация: 29.11.2004
Из: Стольный град Москов
Пользователь №: 18
Вероисповедание: Православие, РПЦ
Молодежная организация: Не в организации



Цитата(BrainWorker @ Jul 19 2005, 22:54)
Это то же самое, что и выше, но записано в одну строчку. Оригинально! Мне понравилась такая запись.
*

Ну это Я знаю что это тоже то. Просто я так обычно записываю!)))
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Светлячок
сообщение 21.11.2005, 15:49
Сообщение #26


Анна Черепанова
***

Группа: Глобальные модераторы
Сообщений: 2821
Регистрация: 12.2.2005
Пользователь №: 65
Вероисповедание: Православие, РПЦ
Молодежная организация: Молодая Русь, Москва



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


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Nikolas
сообщение 21.11.2005, 18:43
Сообщение #27


Активный участник
***

Группа: Участники
Сообщений: 369
Регистрация: 25.2.2005
Из: Lytkarino
Пользователь №: 74
Вероисповедание: Православие, РПЦ
Молодежная организация: Не в организации



Самое легкое - браузер сменить или винду переставить.

У нас в комнате в свое время тоже подобная прога стояла, только более интересные сайты открывала)))

Вообще она скорее всего где-то в реестре прописана, можно самому удалить, а можно в инете поискать, патички найти.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
BrainWorker
сообщение 21.11.2005, 19:32
Сообщение #28


ТРЕЗВЕННИК
***

Группа: Участники
Сообщений: 4728
Регистрация: 14.5.2005
Из: Дубна
Пользователь №: 132
Вероисповедание: Другое
Молодежная организация: Не в организации



Ты подцепила червя, который подправил тебе реестр.
Вся информация об Internet Explorer хранится в этих ветвях реестра:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer

Посмотри и подправь, особенно раздел Main каждой из ветвей.

Всё поняла? smile.gif


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Дмитрий И.
сообщение 21.11.2005, 20:17
Сообщение #29


Оргкомитет МР
***

Группа: Админ
Сообщений: 9110
Регистрация: 25.11.2004
Из: Подмосковье
Пользователь №: 5
Вероисповедание: Православие, РПЦ
Молодежная организация: Молодая Русь, Москва



Цитата(Nikolas @ Nov 21 2005, 20:43)
Самое легкое - браузер сменить или винду переставить.
*

А еще не забудь брандмауэр включить для защиты от атак, хотябы встроенный брандмауэр в windows: свойства сетевого подключение/ вкладка дополнительно/ и поставить галочку - защитить мое подключение к Интернету.
Или какую-либо программку типа "антихаккер".

Добавлено автором Дмитрий И. в [mergetime]1132593434[/mergetime]
Ну и еще не помешает установить антивирус для верности.


--------------------
"Я понял в чем ваша беда - вы слишком серьезны. Умное лицо это еще не признак ума, господа!
Все глупости на Земле делаются именно с этим выражением лица.

Улыбайтесь, господа!!!
Улыбайтесь!!!"


Из фильма "Тот самый Мюнхаузен"
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Светлячок
сообщение 21.11.2005, 20:42
Сообщение #30


Анна Черепанова
***

Группа: Глобальные модераторы
Сообщений: 2821
Регистрация: 12.2.2005
Пользователь №: 65
Вероисповедание: Православие, РПЦ
Молодежная организация: Молодая Русь, Москва



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


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Nikolas
сообщение 21.11.2005, 21:08
Сообщение #31


Активный участник
***

Группа: Участники
Сообщений: 369
Регистрация: 25.2.2005
Из: Lytkarino
Пользователь №: 74
Вероисповедание: Православие, РПЦ
Молодежная организация: Не в организации



Запускаешь програму regedit, там в левой части будет сам реестр. А в правой - значения ключей, которые и надо смотреть. Там выбираешь те ключи ну и там еще какие от них идут, которые BW написал, а потом что считаешь относится к проге вредоносной - удаляешь, только смотри лишнего не удали. wink.gif

Легче винду переставить tongue.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Светлячок
сообщение 21.11.2005, 21:11
Сообщение #32


Анна Черепанова
***

Группа: Глобальные модераторы
Сообщений: 2821
Регистрация: 12.2.2005
Пользователь №: 65
Вероисповедание: Православие, РПЦ
Молодежная организация: Молодая Русь, Москва



Я только что все это сделала, и ничего не помогло.


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

2 страниц V   1 2 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 5.6.2026, 13:20