IPB

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

2 страниц V   1 2 >  
Ответить в эту темуОткрыть новую тему
> Кто же все-таки лучше знает СИ? ;), Разговор программистов... ;)
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.


--------------------
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Дмитрий И.
сообщение 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


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

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

 



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