PDA

Просмотр полной версии : Программирование


Catala
29.03.2007, 23:25
Ну что, надеюсь я не одинок на этом форуме...

unleashed
29.03.2007, 23:47
Мне Flash (action script) нравится... :yo:

Catala
29.03.2007, 23:51
А у меня для нормального изучения руки не доходят. Хоть по всей видимости за ним будущее интернета.

Marko
09.04.2007, 16:23
Бла!!! а я счас учу С++|-(

Foxi
31.01.2008, 20:40
Ну что, надеюсь я не одинок на этом форуме...
Ты не одинок,я учусь на программиста,блин столько всякого надо запоминать,учить, все эти алгоритмы, архитектуры, надо хорошо знать английский язык и высшую математику,наверное это не мое...

Ronnifanbest
31.01.2008, 21:05
Foxi, Ага, я тоже в этом не понимаю, поэтому пошел не на программиста, а на инжинера-системотехника, сижу себе компы собираю :perekur: :)

Papashkin
26.05.2008, 19:09
Народ, нужна помощь! мне надо написать прогу в MFC Application для вычисления вырожения(с помощью мтека), а я не знаю,как! препод - дибил(то есть она), ни фига не обьяснила, лекций по этому поводу почти не было! что делать!? как быть?! помогите!!!

@KIMMI
04.06.2008, 22:29
Салют всем! Я программирую на PHP...
Мои работы можно посмотреть здесь: _ проекты @KIMMI (http://www.echoteam.cwx.ru/index.php?section=projects)

Кстати свой сайт тоже писал сам!: http://www.echoteam.cwx.ru/

Если хотите чего-нибудь заказать то пишите на d.beckham@inbox.ru

Catala
04.06.2008, 22:36
Народ, нужна помощь! мне надо написать прогу в MFC Application для вычисления вырожения(с помощью мтека), а я не знаю,как! препод - дибил(то есть она), ни фига не обьяснила, лекций по этому поводу почти не было! что делать!? как быть?! помогите!!!
Че-то я не видел этого сообщения. Что такое мтек?
Если хотите чего-нибудь заказать то пишите на d.beckham@inbox.ru
Этот сайт похож на портал фрилансеров?

gaskar
04.06.2008, 23:16
Я тоже будущий програмист, знаю немножко c++ и c#, java(но работа с базами не знаю),php, javascript и немножко asp.net. Из баз данных работаю с mysql.

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

@KIMMI
04.06.2008, 23:23
Этот сайт похож на портал фрилансеров?

Это где такое!? Если ты намекаешь, что я просто взял движок, то сильно ошибаешься... Сам катал его дня 3... Как тебе!?

ДжаZ-man
05.06.2008, 00:38
@KIMMI,
он не про это.
Catala пишет про то что он сам сделал сайт, что ему ничего заказывать не надо.
А то что ты сайт сделал сам, охотно верим.

@KIMMI
05.06.2008, 00:41
Ага... Я всё понял!
P.S. Какой-то странный у вас тут стиль общения...

Catala
05.06.2008, 00:46
Я имел в виду только то, что тут не место предлогать услуги фрилансера. Что странного?

@KIMMI
05.06.2008, 00:52
Я имел в виду только то, что тут не место предлогать услуги фрилансера. Что странного?

Ладно, всё я заткнулся!.. Но если хотете можете попросить меня помочь в написании какого-нибудь скрипта... Так подойдёт!?

Papashkin
05.06.2008, 14:35
Че-то я не видел этого сообщения. Что такое мтек?

Не мтек, а стек. это просто опечатка. Народ, срочно нужна помощь. без этой работы не получу допуск к экзамену, а значит - один долг и нет степухи(( Плиз хелп!!!

Foxi
05.06.2008, 21:28
Знаешь я уже в третьем курсе и перехожу в четвертый, мы тоже проходим высшую математику, но я еще не понял в сегодняшнем программировании где использовать все это, мы проходили и бульевскую алгебру, и дискретную математику, и математический анализ, и высшую алгебру, но для чего все это не могу понять.

Из книги Алена Голуба - "Веревка достаточной длины, чтобы... выстрелить себе в ногу".
Есть разные мнения о возможности мышления вне языка, но я убежден, что аналитическое мышление того типа, который нужен в компьютерном программировании, тесно связано с языковыми навыками. Я не думаю, что является случайностью то, что многие из знакомых мне лучших программистов имеют дипломы по истории, филологии и схожим наукам. Также не является случайностью то, что некоторые из виденных мной худших программ были написаны инженерами, физиками и математиками, затратившими в университете массу энергии на то, чтобы держаться как можно дальше от занятий по языку и литературе.
Сущность заключается в том, что математическая подготовка почти не нужна в компьютерном программировании. Тот тип организационного мастерства и аналитических способностей, который нужен для программирования, связан полностью с гуманитарными науками. Логика, например, преподавалась на философском факультете, когда я был в университете. Процесс, используемый при проектировании и написании компьютерных программ, почти полностью идентичен тому, который используется, чтобы сочинять и писать книги. Процесс программирования совсем не связан с теми процессами, которые используются для решения математических уравнений.
Здесь я делаю различие между информатикой (computer science) — математическим анализом компьютерных программ — и программированием или разработкой программного обеспечения — дисциплиной, интересующейся написанием компьютерных программ. Программирование требует организационных способностей и языковой подготовки, а не абстрактного мышления, необходимого для занятий математическим анализом. (В университете меня заставили проходить год на лекции по математическому анализу, но я никогда из него ничего не использовал ни на занятиях по информатике, хотя для них матанализ был необходимым условием, ни в реальной жизни).
Я как-то получил открытую рецензию на книгу, посвященную мной предмету проектирования компиляторов, в которой рецензент (который преподавал в одном из ведущих университетов) заявил, что он "считает абсолютно неуместным включение исходного кода компилятора в книгу о проектировании компиляторов". По его мнению, необходимо учить "фундаментальным принципам" — лежащей в основе математике и теории языка, а детали реализации — "тривиальны". Первое замечание имеет смысл, если у вас создалось впечатление, что книга написана ученым-специалистом по информатике, а не программистом. Рецензент интересовался лишь анализом компилятора, а не тем как его написать. Второе замечание просто показывает вам, насколько изолировала себя научная элита от реального труда программирования. Интересно, что основополагающая работа по теории языка, сделавшая возможным написание компиляторов, была выполнена в Массачусетском технологическом институте лингвистом Наумом Хомским, а не математиком....

Мне кажется,что все таки математика где то нужна для программирования,не всегде,но есть такие случаи.Ну вот например,если я не ошибаюсь 3D-игры - там надо знать линейную алгебру.

basyya
06.06.2008, 10:24
В институте немного на Паскале и Дельфи получалось, ассемблер для какогото старого советского проца немного изучали.

Spanish
12.10.2008, 22:21
А у меня братан отучился. Сейчас работает в ФМС программистом, что-то там с загран паспортами связанно. Хер теперь какие гастербайтеры паспорта получат))

К@t@LoNeЦ
06.01.2010, 10:14
У меня вопрос.Я вот тоже на программиста собираюсь поступать.Щас Pascal изучаю(знаю что старье,но все таки основы надо знать),потом Бэйсик,Делфи,а потом может и на Си замахнусь.Как вообще преподают в ВУЗах программирование?С самого нуля все тебе разжовывают(извините за тавтологию) или у тебя задатки должны уже быть?Сложно ли сдавать Информатику?
П.С: И еще один вопросик для тех,кто живет в Питере: Солжно ли туда поступить тем кто живет в др.городе?

Starsdeath
01.03.2010, 15:45
Солжно ли туда поступить тем кто живет в др.городе?
Туда - куда именно? По идее неважно, с какого города.
Бесплатно поступить, естественно, труднее. Ты собираешься бесплатно?

К@t@LoNeЦ
01.03.2010, 17:43
Starsdeath,Да,есественно,хочу на бесплатный. Мне не важно в какой Вуз,главное, чтоб в Питер.Вот и спрашиваю,а то читал,что в СПбГТУ даже на платный нереально поступить.(решил выбрать специальность web-программиста)Еще читал,что как таковых Институтов,где учат на Веб-программиста нет.Это правда?(Где-где,а в Питере должны они быть по-любому)

Starsdeath
01.03.2010, 18:04
даже на платный нереально поступить
Вроде бы здесь все зависит от объема деньжат в кармане. ;)
Еще читал,что как таковых Институтов,где учат на Веб-программиста нет.Это правда?
Не знаю...

gaskar
01.03.2010, 18:15
К@t@LoNeЦ, Не думаю что может быть факультет "web программирование", при всем своем уважении к веб программистам(я и сам подработываю этим;) ), 4-5 лет учится веб программированию? Это уже слиииишком много:krut:

Catala
01.03.2010, 18:18
Web-программирование сильно сказанно, скорее это веб-кодерство. Не думаю, что какой-то ВУЗ настолько себя не уважает, чтобы создавать такое направление.

К@t@LoNeЦ
01.03.2010, 18:37
ну а если просто на прогр-а идти,нужно выбрать специальность,в чем и проблема.Не могу выбрать ее,да и несльно то в каждой разбираюсь.Может кто-нибудь знает какие-нибудь ссылки ,чтоб там поясналась каждая специальность:pivo: Мне просто интересна эта специальность,и я просто не знаю больше професси,которые мне интересны и связвны с работой на компьютере.

gaskar
01.03.2010, 18:38
ну а если просто на прогр-а идти,нужно выбрать специальность,в чем и проблема.Не могу выбрать ее,да и несльно то в каждой разбираюсь.
А какие направления ты знаешь?

К@t@LoNeЦ
01.03.2010, 18:46
их немного:
ну это вроде зависит от языка(ксати тоже еще не определился с ним,но чем больше тем лучше)
прог-т базы данных,тестировщик,постановщик,вирусолог, но мне хочется что-то связанное с сетью

gaskar
01.03.2010, 18:54
их немного:
ну это вроде зависит от языка(ксати тоже еще не определился с ним,но чем больше тем лучше)
прог-т базы данных,тестировщик,постановщик,вирусолог, но мне хочется что-то связанное с сетью
Ну не знаю, у нас было прикладное программирование, мы проходили c++, java, php, javascript немножко assembler из языков, а так и программирование БД проходили, и работа с сетьями, и еще мнооого всего по математике, я не знал что есть факультеты где проходят только один язык программирования.

К@t@LoNeЦ
01.03.2010, 18:59
и что ты прям поступал на эту специальность и у вас был свой факультет?

Catala
01.03.2010, 19:17
В ВУЗах программистов не учат какому-то языку, им дают инструменты, чтобы быстро освоить любой язык. Нужно четко понимать разницу между программистом и кодером(хотя пока работодатели не сильно ее понимает можно и кодерам неплохо устроиться). Кодер покупает книгу "Java за 24 дня" и за месяцев 5 осваивает синтаксис. Потом ему везет, он устраивается на работу и элементарную задачу, например упорядочивание массива, он вне зависимости от объема и данных реализует единственным известным ему алгоритмом, скорей всего select sort с замечательной эффективностью O(n^2), о которой он понятия не имеет. Программист с высшем образованием ту же задачу решит в худшем случае quick sort'ом с эффективностью уже O(nlogn), а в некоторых случаях сможет применить и линейный алгоритм. Кодеру этого не дано, потому что в книжке "Java за 24 дня" рекурсия и эффективность алгоритмов даже не упоминается. Задача ВУЗа - научить будущих программистов писать эффективные программы, а не код, который примет компилятор.

И раз уж речь зашла о компилятарах:
Интересно, что основополагающая работа по теории языка, сделавшая возможным написание компиляторов, была выполнена в Массачусетском технологическом институте лингвистом Наумом Хомским, а не математиком....
Вот это хрень. Видимо дядя о загубленном английскими гомофобами гение Тьюринге и его разработках ничего не слышал, что наводит на мысли о книжках типа "C и С++ за месяц".

К@t@LoNeЦ
01.03.2010, 19:58
ну хорошо,допустим я хочу поступать на прикладного прог-та ,куда мне нужно пойти и как этот факультет называется?

Jericho
01.03.2010, 20:01
К@t@LoNeЦ, по-моему всегда это называлось информатикой.:yo:

К@t@LoNeЦ
01.03.2010, 20:14
К@t@LoNeЦ, по-моему всегда это называлось информатикой.:yo:
факультет"Информатика"?;)

Jericho
01.03.2010, 20:20
факультет"Информатика"?
Почти. Факультет информатики и вычислительной техники/компьютерных технологий(если хочешь).;)

К@t@LoNeЦ
01.03.2010, 20:22
Почти. Факультет информатики и вычислительной техники(если хочешь).;)
и что там учат прогать?

Catala
01.03.2010, 20:25
У нас или в Америке это называется факультет точных наук.

Jericho
01.03.2010, 20:26
и что там учат прогать?
Прогать? Интересный термин.

Там учат информатике

Информа́тика: компьютерная наука - вычислительная наука — наука о способах получения, накоплении, хранении, преобразовании, передаче и использовании информации. Она включает дисциплины, так или иначе относящиеся к обработке информации в вычислительных машинах и вычислительных сетях: как абстрактные, вроде анализа алгоритмов, так и довольно конкретные, например, разработка языков программирования.
:yo:

У нас или в Америке это называется факультет точных наук.
Либо еще проще: Факультет программирования.

Catala
01.03.2010, 20:31
Либо еще проще: Факультет программирования.
Нет, именно факультет точных наук. В него также входят направления математики, физики, химии.

К@t@LoNeЦ
01.03.2010, 20:32
на собственном опыте убедился,что сколько людей,столько и мнений;)

gaskar
01.03.2010, 20:33
У нас в Армении все просто, называется "прикладное программирование";)

К@t@LoNeЦ
01.03.2010, 20:50
вот вы на кого пошли и на какой факультет поступили?(из прогр-ов)

Jericho
02.03.2010, 00:15
химии
Это-то парню зачем?;)
физики
Да и это, пожалуй, ни к чему.

Mercus
02.03.2010, 02:01
У меня вообще "Прикладная информатика в экономике".
У нас все проги в курсовых пишутся по экономическим темам. Куча математических дисциплин, потом ещё сотня всяких экономик, бух. учётов, налогов, анализов, менеджментов, даже государственное муниципальное управление было. А вот информатики почему намного меньше, чем экономики, но языкам конечно учили, и сейчас учат, правда я после предмета "компьютерная графика" забил на всё программирование и увлёкся рисованием.

К@t@LoNeЦ
02.03.2010, 10:50
jericho, а вот как раз физику мне и придется сдавать,потому что класс у меня физико-математический

ДжаZ-man
02.03.2010, 16:58
У нас был MathCad по экономике и Pascal по информатике и программированию. Паскаль ненавижу, так толком и не понял, сдал экзамен чисто на фарте. А вот с Маткадом не все так просто... Еле еле вытянул на три. Нас посадили за компы сказали: Реали***те то, чему учили вас на бумаге. Рожи были у одногруппников как у игроков сборной России после проигрыша Словении. Чесслово.

gaskar
02.03.2010, 17:49
Web-программирование сильно сказанно, скорее это веб-кодерство. Не думаю, что какой-то ВУЗ настолько себя не уважает, чтобы создавать такое направление.
И все таки спрошу. Почему не существует веб программирования, и если я тебя правильно понял, различие между кодером и программистом в том, что один знает алгоритмы а другой нет? Или я тебя не так понял?

Catala
02.03.2010, 18:06
Разница между программистом и кодером в том, что первый пишет качественные программы, а второй код, который принимает компилятор и в известной степени решает поставленную задачу(по крайней мере для части вводов). Программирование подразумевает умение решать сложные задачи. Веб-программирование - умение создавать сайты. Для этого нужно научиться создавать базы данных, выучить html, научиться немного писать код на php(подключиться к базе данных, вытащить данные и вывести их). Изредка еще нужно что-нибудь посчитать. Это довольно примитивно, чтобы называться программированием, просто далеким от этого дела людям даже такие вещи кажутся запредельными и требующими супер-подготовки. Веб-программированием я могу назвать создание поисковой системы, но никак не создание информационно-развлекательных сайтов(практически любой сложности).

gaskar
02.03.2010, 18:16
Веб-программирование - умение создавать сайты. Для этого нужно научиться создавать базы данных, выучить html, научиться немного писать код на php(подключиться к базе данных, вытащить данные и вывести их). Изредка еще нужно что-нибудь посчитать. Это довольно примитивно, чтобы называться программированием. Веб-программированием я могу назвать создание поисковой системы, но никак не создание информационных сайтов(практически любой сложности).
Ну нет, например писать парсилки это такое легкое занятие, регулярные выражения настолько просты? Я не знаю все алгоритмы упорядичования массивов, да и на упорядичивоания 100 чисел ты же не будешь использовать quick sort. Программист это тот кто может решать задачи, однажды мне преподователь дал задяние написать алгоритм упорядочивания чисел, я сам сидел придумал как это сделать, в конце оказалось что это select sort, но сам процесс когда ты сам придумываешь это и есть то для чего я выбрал программирование(кстати потом он сказал что мой алгоритм нехороший, лучший это bubble sort:finest: ), или еще был случай когда я хотел написать игру lines на java, и сам придумал как это сделать, вконце снова оказалось что у этого алгоритма есть имя и тд. вот это я называю программированием, хотя по твоим критериям я больше кодер. Давай поспорим, я напишу простой чат без всякого дизайна, просто чат, и сделаю так чтобы во время чата твой сайт не повис, если сделаю отдадите мне 100 000 б.ру денег, согласен?:yo:

Catala
02.03.2010, 19:22
Парсинг это не веб-программирование. Веб-программистами называют людей, которые пишут сайты. Кроме того парсинг не так сложен, у меня заняло пара часов собрать с сайта ЛФП данные для раздела истории, попутно изучая регулярку.

Все люди сами доходят до select sort, это инстинкт с детского сайта. Если тебе надо упорядочить бутылки ты берешь самую маленькую, ставишь скраю и продолжаешь. Bubble sort имеет ту же эффективность O(n^2), a Quick sort, Mergesort или Heapsort O(nlogn). Если же массив целых чисел можно добиться линейной эффективности с Countsort или Radixsort, правда буффера может потребоваться больше, чем данных.

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

Напиши чат в связке php+mysql, если не будет тормозить после интеграции я лично переведу.

gaskar
02.03.2010, 19:50
Парсинг это не веб-программирование. Веб-программистами называют людей, которые пишут сайты. Кроме того парсинг не так сложен, у меня заняло пара часов собрать с сайта ЛФП данные для раздела истории, попутно изучая регулярку.
Писать сайты и есть веб кодеры, а как ты назовешь тех кто пишет онлайн игры, или даже парсеры, кстати парсинг не всегда легкое занятие, зависит и от сайта. А регулярные выражения одна из самых интересных частей которые иногда нужны веб программистам.
Все люди сами доходят до select sort, это инстинкт с детского сайта.
Я и не говорю что сложное, но другое дело когда тебе говорят вот алгоритм скажем баббл сорта, и пишите код, это кодерство, если кодер нормальный, то ему говоришь алгоритм и он может написать код, а вот пытаться придумать алгоритм, это же самая интересная часть программирования, и пусть твой алгоритм будет уровня детского сада.
Написать lines на java это программирование, кодер на это не способен. В создании сайтов нет таких сложных задач.
Опять же ты считаешь веб программированием написание сайтов, но это больше кодерство, я для дипломной работы друга написал, онлайн шахматы, с помощью javascript и php, так что и в вебе существуют сложные задачи... другое дело что не всем это надо.
Напиши чат в связке php+mysql, если не будет тормозить после интеграции я лично переведу.
Ок, я сейчас немножко занят, сегодня 2 марта, к 22 марта, дам тебе скрипты.

Catala
02.03.2010, 21:47
Я еще раз повторяю - те, кого принято называть веб-программистами на самом деле кодеры. Если ты пойдешь на сайт freelance увидишь кучу работ, типа "ищу веб-программиста для написания движка магазина/аукциона/доски объявлений...". А можно еще лучше: "Ищу веб-программиста для установки DLE". Вот это на самом деле кодеры. Люди, которые пишут игры - флеш-программисты или флеш-технологи. Это не кодеры.

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

Я и не говорю что сложное, но другое дело когда тебе говорят вот алгоритм скажем баббл сорта, и пишите код, это кодерство, если кодер нормальный, то ему говоришь алгоритм и он может написать код, а вот пытаться придумать алгоритм, это же самая интересная часть программирования, и пусть твой алгоритм будет уровня детского сада.
Ты меня не понял. Я работал со школьниками(я добровольно из благородных побуждений им помогал, а мне за это добровольно платили стипендию) и они без исключения доходят до этого алгоритма. Он не уровня детского сада, он понятен человеку на подсознательном уровне еще с детского сада, просто нужно научить использовать эти навыки для решения задач. Придумывание алгоритма действительно самая интересная часть процесса, особенно хорошо когда она самая сложная.

я для дипломной работы друга написал, онлайн шахматы, с помощью javascript и php, так что и в вебе существуют сложные задачи
Оригинальная связка для шахмат. Я так понимаю это не новый Deep Blue, а только возможность играть в шахматы двум людям? Покажешь?

к 22 марта, дам тебе скрипты.
Договорились.

gaskar
03.03.2010, 16:36
Оригинальная связка для шахмат. Я так понимаю это не новый Deep Blue, а только возможность играть в шахматы двум людям? Покажешь?
Да там только между с собой можно играть, я то сам нормально играть не могу так что написать шахматы для меня оооочень сложная задача;) У меня нету, возьму у друга покажу.
Вот ты насколько я понимаю учишься на программиста и учишь java. То есть наверное ты знаешь ООП и понимаешь его мощь и красоту. А кодер, который учит java по книжке, плевать хотел на ООП, классы и интерфейсы. Если тебе когда-нибудь не дай бог придется вносить небольшие изменения в творения таких мастеров и для этого менять пол-кода, поймешь разницу между программистами и кодерами.
Да я уже закончил. Я не об этом говорил, просто я о том что веб программирование тоже существует, просто кодерам тут легче написать, по этому и большинство веб разработчиков просто кодеры. Вот недавно писал древовидное меню для сайта, любой самый слабый(коим я себя считаю) программист, решит эту задачу через рекурсию, а кодер возьмет да сделает по 100-150 запросов к БД, потому что он даже не знает что такое рекурсия. Я лишь говорил что программирование и в вебе существует. Кстати я учил с++ по книжке Дейтела, и вроде неплохо, и задачи интересные, так что смотря по какой книге учишься.

Catala
22.03.2010, 21:16
к 22 марта, дам тебе скрипты
На sd84@mail.ru :yo:

К@t@LoNeЦ
14.04.2010, 12:00
у меня вопрос: язык HTML как язык серьезный,можно ли создать на нем что-либо весомое.Или это как Pascal, учебный????

Foxara
14.04.2010, 15:24
К@t@LoNeЦ, HTML это вообще не язык, а набор тэгов, на нем ничего не напишешь. Тэги влияют на отображение объектов (текста, картинок и т.д.) в браузере и все.

Паскаль совсем уж учебным языком я бы называть не стал, ибо достаточно глубокие познания в нем позволяют создавать весьма любопытные программы. Например игру "тетрис". Я по работе часто использую его для выполнения расчетов.

Catala
22.04.2010, 18:59
Офигеть, я был на лекции Рональда Ривеста. Это именно тот самый Ривест, один из трех авторов библии для программистов Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, один из трех авторов первого и до сих пор одного из самых используемых криптографических алгоритмов RSA(кстати, один из трех авторов, Ади Шамир, мой лектор по криптографии) и еще кучи чего. Это все равно, что студентам-физикам встретиться с Эйнштейном. Ощущения очень необычные, такие люди вызывают у меня гораздо больше, чем уважение, чуть ли не трепет.

Даниэль
27.04.2010, 17:11
Не знаю, точно ли мой вопрос относится к теме программирования, но хочу попросить помощи в небольшом редактировании одного JavaScript'a. Надеюсь, тем кто разбирается это не составит труда:

Скачал скрипт для создания меню на сайте. Скрипт встраивается прямо в код страницы, т.е. никаких файлов, кроме html-страницы в архиве не было. Вот собственно и он: http://alpha-racing.ucoz.ru/069.html

Полностью код всей страницы:
<html>
<head>
<title>WOscripts.com - JavaScript - Pop-it menu</title>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<META NAME="description" CONTENT="Коллекции CGI, PHP, JavaScript скриптов, Java апплеты, огромное количество документации по разным языкам программирования, анимированные гифы, фоны, полезные программы, форум, ссылки по теме.">
<META NAME="keywords" CONTENT="perl scripts, perl, cgi scripts, cgi, перл, java, java scripts, веб-программирование, web-programming, html, каталог ссылок, документация по веб-программированию, cgi скрипты, java скрипты, игры, java апплеты, апплеты, гифы, скрипты, скрипт, книги по веб-программированию, форум по perl, CGI, Perl, script, HTML">

<Style>
A:Link{ Color: white; Text-decoration: underline}
A:Hover{ Color: white; Text-decoration: none}
td, body {font-family: verdana, arial, helvetica; font-size:11px;}
</Style>
<!-- HEAD START HERE -->

<style>
<!--

.menuskin{
position:absolute;
width:165px;
background-color:menu;
border:0px solid black;
font:normal 12px Verdana;
line-height:14px;
z-index:100;
visibility:hidden;
}

.menuskin a{
text-decoration:none;
color:black;
padding-left:10px;
padding-right:10px;
}

#mouseoverstyle{
background-color:#cc0000;
}

#mouseoverstyle a{
color:white;
}
-->
</style>

<script language="JavaScript1.2">

//Pop-it menu- By WOscripts.com
//For full source code and more DHTML scripts, visit http://www.woscripts.com
//This credit MUST stay intact for use

var linkset=new Array()
//SPECIFY MENU SETS AND THEIR LINKS. FOLLOW SYNTAX LAID OUT

linkset[0]='<div class="menuitems"><a href="http://www.woscripts.com">WOscripts.com</a></div>'
linkset[0]+='<div class="menuitems"><a href="http://forum.woscripts.com"><b><font size="1">FORUM</font></b></a></div>'
linkset[0]+='<div class="menuitems"><a href="http://www.woteam.net">WEB-DESIGN</a></div>'

linkset[1]='<div class="menuitems"><a href="http://msnbc.com">MSNBC</a></div>'
linkset[1]+='<div class="menuitems"><a href="http://cnn.com">CNN</a></div>'
linkset[1]+='<div class="menuitems"><a href="http://abcnews.com">ABC News</a></div>'
linkset[1]+='<div class="menuitems"><a href="http://www.washingtonpost.com">Washington Post</a></div>'

////No need to edit beyond here

var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1
var ns6=document.getElementById&&!document.all
var ns4=document.layers

function showmenu(e,which){

if (!document.all&&!document.getElementById&&!document.layers)
return

clearhidemenu()

menuobj=ie4? document.all.popmenu : ns6? document.getElementById("popmenu") : ns4? document.popmenu : ""
menuobj.thestyle=(ie4||ns6)? menuobj.style : menuobj

if (ie4||ns6)
menuobj.innerHTML=which
else{
menuobj.document.write('<layer name=gui bgColor=#E6E6E6 width=165 onmouseover="clearhidemenu()" onmouseout="hidemenu()">'+which+'</layer>')
menuobj.document.close()
}

menuobj.contentwidth=(ie4||ns6)? menuobj.offsetWidth : menuobj.document.gui.document.width
menuobj.contentheight=(ie4||ns6)? menuobj.offsetHeight : menuobj.document.gui.document.height
eventX=ie4? event.clientX : ns6? e.clientX : e.x
eventY=ie4? event.clientY : ns6? e.clientY : e.y

//Find out how close the mouse is to the corner of the window
var rightedge=ie4? document.body.clientWidth-eventX : window.innerWidth-eventX
var bottomedge=ie4? document.body.clientHeight-eventY : window.innerHeight-eventY

//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<menuobj.contentwidth)
//move the horizontal position of the menu to the left by it's width
menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX-menuobj.contentwidth : ns6? window.pageXOffset+eventX-menuobj.contentwidth : eventX-menuobj.contentwidth
else
//position the horizontal position of the menu where the mouse was clicked
menuobj.thestyle.left=ie4? document.body.scrollLeft+eventX : ns6? window.pageXOffset+eventX : eventX

//same concept with the vertical position
if (bottomedge<menuobj.contentheight)
menuobj.thestyle.top=ie4? document.body.scrollTop+eventY-menuobj.contentheight : ns6? window.pageYOffset+eventY-menuobj.contentheight : eventY-menuobj.contentheight
else
menuobj.thestyle.top=ie4? document.body.scrollTop+event.clientY : ns6? window.pageYOffset+eventY : eventY
menuobj.thestyle.visibility="visible"
return false
}

function contains_ns6(a, b) {
//Determines if 1 element in contained in another- by Brainjar.com
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function hidemenu(){
if (window.menuobj)
menuobj.thestyle.visibility=(ie4||ns6)? "hidden" : "hide"
}

function dynamichide(e){
if (ie4&&!menuobj.contains(e.toElement))
hidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
hidemenu()
}

function delayhidemenu(){
if (ie4||ns6||ns4)
delayhide=setTimeout("hidemenu()",500)
}

function clearhidemenu(){
if (window.delayhide)
clearTimeout(delayhide)
}

function highlightmenu(e,state){
if (document.all)
source_el=event.srcElement
else if (document.getElementById)
source_el=e.target
if (source_el.className=="menuitems"){
source_el.id=(state=="on")? "mouseoverstyle" : ""
}
else{
while(source_el.id!="popmenu"){
source_el=document.getElementById? source_el.parentNode : source_el.parentElement
if (source_el.className=="menuitems"){
source_el.id=(state=="on")? "mouseoverstyle" : ""
}
}
}
}

if (ie4||ns6)
document.onclick=hidemenu

</script>

<!-- HEAD END HERE -->




</head>
<body bgcolor="#737994" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" >
<br><br><br><br><br><br><br><br><br><br><br><br>



<!-- BODY START HERE -->

<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
</div>

<a href="#" onMouseover="showmenu(event,linkset[0])" onMouseout="delayhidemenu()">Webmaster Links</a><br>
<a href="#" onMouseover="showmenu(event,linkset[1])" onMouseout="delayhidemenu()">News sites</a>

<!-- BODY END HERE -->





</body>
</html>

А проблема в том, чтобы выпадающее меню появлялось не ниже и правее мыши, а выше и правее, т.е. в месте касания мышью ссылки был не верхний левый угол этого выпадающего меню, а нижний левый. Это наверное требует изменения всего пары каких-то значений, но для меня это слишком сложно. Заранее спасибо за помощь!

К@t@LoNeЦ
06.09.2010, 18:30
Через год собираюсь поступать в Питер,кафедра "Информационные технологие".Понятно,что знания нужно самосовершеннствовать и самому,но сможет ли институт качественно обучить разбираться в компе и программировании,сможет ли подготовить специалиста??
Желательно личные примеры::hello2::

К@t@LoNeЦ
06.09.2010, 20:03
Saw,
качественно обучить
я очень часто нахожу посты,которые утверждают,что в ВУЗе учат только основам,профессионально создавать программы ты должен научиться сам,якобы::krut::

#4 RootPeach
21.11.2010, 22:03
Через год собираюсь поступать в Питер,кафедра "Информационные технологие".Понятно,что знания нужно самосовершеннствовать и самому,но сможет ли институт качественно обучить разбираться в компе и программировании,сможет ли подготовить специалиста??
Желательно личные примеры::

я очень часто нахожу посты,которые утверждают,что в ВУЗе учат только основам,профессионально создавать программы ты должен научиться сам,якобы::


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

Собственно, ИТ сейчас развивается дикими бурными темпами, придётся самому грызть современность в этом плане.

К@t@LoNeЦ
12.12.2010, 17:00
Чтобы работать 1С программистом нужно ли экономическое образование.И вообще, чем 1С прогаммирование отличается от обычных языков.В институтах изучают 1С?.Спрос на 1С щас самый высокий,вроде как.

#71
12.12.2010, 18:36
1С программистом?? 1С программист - это человек, работающий на фирме 1С. Рискну предположить, что спрос на них не столь высок.

Если ты имеешь в виду 1с-бухгалтерию или 1с-предприятие, то это уже получается пользователь программы, а не программист, и да, скорее всего понятие об экономике для этого иметь надо.

К@t@LoNeЦ
12.12.2010, 19:59
1С программист - это человек, работающий на фирме 1С. Рискну предположить, что спрос на них не столь высок.
это я и так знал

К@t@LoNeЦ
12.02.2011, 15:50
В массиве из 30 элементов нужно записать эти элементы в модуле,но без использования специальной функции abs.Каким образом это можно сделать на Паскале.Вроде бы сам цикл не сложный должен получиться,но вот загвоздка в том,как провернуть это?Весь цикл писать не нужно,просто подбростьте мыслю.Спасибо

Catala
12.02.2011, 15:58
Способов много. Синтаксис и функции Паскаля не помню, но можно
1. sqrt(arr[i]*arr[i])
2.
if(arr[i] < 0)
arr[i] = (-1)*arr[i]

И еще немало вариаций.

К@t@LoNeЦ
12.02.2011, 16:04
Точно.Нужно просто отрицательное число умножить на "-1".Жестко что-то я тупанул:st:

К@t@LoNeЦ
06.04.2011, 20:25
подскажите, пожалуйста,алгоритм заполнения матрицы по спирали по часовой стрелки,начиная с левого верхнего угла,желательно на Бэйсике или Паскале.
зы:размер матрицы не указан

Catala
06.04.2011, 21:04
По спирали это как?

С матрицами и вообще с массивами невозможно работать без указанных размеров или, как в стрингах, с оговоренным конечным символом.

К@t@LoNeЦ
06.04.2011, 21:23
По спирали это как?
что-то типа такого:

1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7


С матрицами и вообще с массивами невозможно работать без указанных размеров

Я имею ввиду,что размеры матрицы в задании должны вводиться произвольно,то есть например: 10х10 или 5х5.И должна получиться подобная матрица,которая описана выше,только уже от моего желания зависит,сколько будет в ней элементов.

Catala
06.04.2011, 21:57
Паскаль не помню, надеюсь C знаешь.


#include<stdio.h>
#include<stdlib.h>

void main()
{
int * mat;
int rows, cols;
int row, col;
int value;
int dir;//0 - rigt; 1 - down; 2 - left; 3 - up
printf("Input matrix dimensions: ");
scanf("%d%d",&rows, &cols);
mat = (int*)malloc(sizeof(int) * cols * rows);
for(row = 0; row < rows; row++)
for(col = 0; col < cols; col++)
mat[row*cols + col] = 0;
value = 1;
dir = 0;
row = 0;
col = 0;
while(value <= rows*cols)
{
mat[row*cols + col] = value;
switch(dir){
case 0:
col++;
if(mat[row*cols + col] != 0 || col >= cols)
{
col--;
row++;
dir = 1;
}break;
case 1:
row++;
if(mat[row*cols + col] != 0 || row >= rows)
{
row--;
col--;
dir = 2;
}break;
case 2:
col--;
if(mat[row*cols + col] != 0 || col < 0)
{
col++;
row--;
dir = 3;
}break;
case 3:
row--;
if(mat[row*cols + col] != 0 || row < 0)
{
row++;
col++;
dir = 0;
}break;
}
value++;

}
for(row = 0; row < rows; row++)
{
for(col = 0; col < cols; col++)
printf("%d ", mat[row*cols + col]);
printf("\n");
}
}

К@t@LoNeЦ
06.04.2011, 22:01
надеюсь C знаешь.
к сожалению нет, но все равно спасибо.

Будем искать (с)

RIVALDO
06.04.2011, 22:08
но сможет ли институт качественно обучить разбираться в компе и программировании,сможет ли подготовить специалиста??
Если на серьёзном уровне компами увлекаешься, надо поступать в Бауманский технологический университет на факультет ИУ, у меня там пару хороших друзей учились, они к 5 курсу уже программировали на языке ассемблера, я не особо силён в этих терминологиях, но как мне сказали программировать на этом языке это очень круто, потому как сложно. :D

Catala
06.04.2011, 22:08
Собственно в Паскале почти все эти операторы есть, кроме ++. Алгоритм:

Заполняешь массив нулями
Задаешь переменную направление, я сделал 0 вправо, 1 вниз, 2 влево, 3 вверх
В соответствии с направлением увеличиваешь или уменьшаешь текущий индекс
Если в индексе не ноль или вылез за границу меняешь направление на следующее
Иначе записываешь значение и продвигаешь его на единицу.

RIVALDO
06.04.2011, 22:18
Catala, к слову, язык ассемблера это самый сложный язык или нет?

Catala
06.04.2011, 22:27
Ассемблер это машинный код. Любая программа, написанная на языке высокого уровня(все языки, используемые на рынке) проходят этап компиляции, то есть перевода на машинный код. На ассемблере нужно программировать только для работы с железом, он дает полный прямой доступ и максимальную свободу. Сложность языка заключается в том, что он предназначен для понимания компьютером, а не человеком. Как бинарная система представления чисел, человек может ее понимать, но предпочитает работать в десятичной, а компьютер понимает только бинарную(нолики и единички).

К@t@LoNeЦ
30.11.2011, 17:02
Помогите с заданием.
Нужно протабулировать функцию (см.рисунок 1)
Т.е как дано из рисунка, мне нужно подставить все значения х из интервала от "-8" до "8" с шагом 2.5 в данную функцию и посчитать.

http://barca.ru/forum/attachment.php?attachmentid=2783&d=1322654339

Программу я написал:

var x,y: Real;
i:Integer;

Begin
writeln('Табуляция:');

x:=-8;

while x<8 do

begin

if (2*sqr(x)-5*x+3)<0 then Writeln('x=',x :4:2, ' Нет решения')

else

Writeln('x=',x :4:2 ,' y=',(20*cos(sqr(x)))/(sqrt(2*sqr(x)-5*x +3)) :4:2 );
x:=x+2.5;

end;

End.


Но он считает функцию не правильно - в этом и проблема (См. рисунок 2)

http://barca.ru/forum/attachment.php?attachmentid=2784&d=1322654416
Вроде все правильно в коде. Единственное в чем могла быть ошибка, так это в записи самой функции.

К@t@LoNeЦ
14.03.2012, 19:21
Задание по С++:
Среди двузначных чисел найти те, сумма квадратов цифр которых делится на 13

На Паскале цикл выглядит так:
for i:= 10 to 99 do
if (Sqr(i div 10) + Sqr(i mod 10)) mod 13 = 0 then WriteLn (i);

На С++ диф и мод , основываясь статье из Википедии выглядят так - modf(x,p) и divf(x,p)
http://ru.wikipedia.org/wiki/Math.h

Так что на С++ программа выглядит так:

#include <conio.h>
#include <math.h>
#include <windows.h>
#include <stdio.h>
void main()
{

int x;

for(x=10; x <= 99; x++)
{
if (modf(pow(mod(x,10),2)+pow(divf(x,10),2),13)==0)
printf("x=%lf", &x);
}


getch();
}


НО вылазиют две ошибки (См.рисунок)

Помогите разобраться в них, потому что ошибка в этих модах и дифах


ЗЫ: Заголовочные файлы в сообщении не отображаются (после #include), так что смотреть надо на картинку

Catala
14.03.2012, 19:52
Картинку с телефона не вижу, но див и мод это / и % соответственно.

К@t@LoNeЦ
14.03.2012, 20:45
Catala, можешь показать действие обоих на примере? А то, я так понял, / - это и обычное деление и див

Catala
14.03.2012, 21:05
#include <conio.h>
#include <stdio.h>
void main()
{

int x;

for(x = 10; x <= 99; x++)
{
if (((x / 10) * (x / 10) + (x % 10) * (x % 10)) % 13 == 0)
{
printf("x = %d\n", x);
}
}

getch();
}

К@t@LoNeЦ
16.03.2012, 18:42
Вот еще проблема с задачей (рс.1)

Т.е, проще говоря, если я ввиду n=5 , то вот что должно получиться (рс.2)

Как это мне записать?

заготовка и ошибка (рс.2)

Catala
16.03.2012, 18:53
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>

void main()
{
float result = 0;
int i;
int n;

printf("Input a number: ");
scanf("%d", &n);

for(i = 0; i < n; i++)
{
result = sqrt(result + 2);
}

printf("The result is %f", result);

getch();
}

К@t@LoNeЦ
16.03.2012, 18:57
Catala, уф , спасибо огромное, мне бы тока одной строчки хватило:bowdown:

К@t@LoNeЦ
13.04.2012, 18:43
Дан массив целых чисел размерности n. Все элементы массива с четными номерами, предшествующие первому максимальному элементу, умножить на максимальный

Предпоследний цикл считает до бесконечности.
В чем ошибка?

#include <conio.h>
#include <math.h>
#include <stdio.h>
void main()
{

int max,n,k,i;
printf("vvedite razmernost ");
scanf_s("%d",&n);
int *mass = new int[n];
delete[]mass;


for (i=1;i<=n;i++)
{
printf("vveite chislo ");
scanf_s("%d",&mass[i]);
}

max=mass[1];
k=1;

for (i=2;i<=n;i++)
{
if (mass[i]>max)
{
max=mass[i];
k=i;
}

}

for (i=1;1<=k;i++)
{
if (32000%i==0)
{
mass[i]=mass[i]*max;
}
}

for (i=1;1<=n;i++)
{
printf("mass[i] =%lf",mass[i]);
}

getch();
}

GERONIMO
13.04.2012, 18:55
printf("vveite*chislo*");

Я ничего не смыслю в программировании, но тут ты пропустил букву :"d"

Catala
13.04.2012, 19:06
Во-первых, массивы идут от 0 до n-1. Обращение к элементу n должно вызывать access violation. Во-вторых, память освобождается в самом начале программы, то есть вся работа ведется без выделенной памяти. Это еще до того, как вникнуть в алгоритм, который выглядит странно. Как собственно и задача. Что такое "первый максимальный элемент"? Если есть несколько одинаковых элементов, которые являются максимумом, нужен с минимальным индексом?

К@t@LoNeЦ
13.04.2012, 19:17
Во-первых, массивы идут от 0 до n-1.
Необязательно.Я ввожу, начиная с mass[1].Ведь в for сначала идет присвоение элемента ,а потом увеличение номера элемента

Обращение к элементу n должно вызывать access violation.
В первый раз слышу.Всегда работал без него.

Это еще до того, как вникнуть в алгоритм, который выглядит странно.
какой именно? предпоследний?



В предпоследнем цикле сначала было "if (i%2==0)",что правильнее при определении четности\нечетности, но проблема в том, что i должно быть целочисленным, поэтому решил пойти от обратного:
по идее если i - четное, то он должен делить без остатка 32000 ( к примеру)

Catala
13.04.2012, 19:28
Необязательно.Я ввожу, начиная с mass[1].Ведь в for сначала идет присвоение элемента ,а потом увеличение номера элемента
Интересно вас учат. Объясняю. Допустим массив начинается в адресе 1000. Когда ты делаешь new int[5] операционная система выделяет тебе сплошной блок памяти размеров в 20 байт(int 4 байта). mass[i] это то же самое, что *(mass + (4 * i)). Поэтому обращение к mass[5] это обращение к адресу 1020, которое тебе не принадлежит. И не имеет никакого значения как ты вводишь элементы. Ввод элементов это не выделение памяти, а запись данных в уже выделенную. В C всегда массив начинается с нуля. Если ты хочешь использовать n элементов начиная с 1, то в new нужно давать n+1. Ты же вообще делаешь в начале delete, что освобождает память и для тебя она не существует, а потом обращаешься к памяти которая не была твоей даже до этого освобождения.

Переменная k тебе не нужна. В условии второго пробега достаточно mass[i] < max. Ну и у тебя слева в условии цикла 1 вместо i. 32000 очень надеюсь нужно только для проверки.

К@t@LoNeЦ
13.04.2012, 19:43
Переменная k тебе не нужна.
как мне тогда без k номер максимального элемента то узнать?

Ну и у тебя слева в условии цикла 1 вместо i
не понял, где именно?


Интересно вас учат. Объясняю. Допустим массив начинается в адресе 1000. Когда ты делаешь new int[5] операционная система выделяет тебе сплошной блок памяти размеров в 20 байт(int 4 байта). mass[i] это то же самое, что *(mass + (4 * i)). Поэтому обращение к mass[5] это обращение к адресу 1020, которое тебе не принадлежит. И не имеет никакого значения как ты вводишь элементы.

int *mass = new int[n];
delete[]mass;

может и так, только нам пока так говорят заполнять динаический массив

Catala
13.04.2012, 20:00
не понял, где именно?
for (i=1;1<=k;i++)

как мне тогда без k номер максимального элемента то узнать?
Цикл сверху меняешь на for (i=1; mass[i] < max ; i++). И пробелы не забываем...


может и так, только нам пока так говорят заполнять динаический массив
delete делается после завершения работы с массивом. Делать подряд new и delete не имеет вообще никакого смысла. Это как построить дом только чтобы его взорвать сразу после укладки последнего кирпича.

К@t@LoNeЦ
13.04.2012, 20:18
Catala, все исправил, только все равно до бесконечности считает
Вот что получилось:

#include <conio.h>
#include <math.h>
#include <stdio.h>
void main()
{

int max,n,k,i;
printf("vvedite razmernost ");
scanf_s("%d",&n);
int *mass = new int[n];

for (i=1;i<=n;i++)
{
printf("vveite chislo ");
scanf_s("%d",&mass[i]);
}

max=mass[1];


for (i=2;i<=n;i++)
{
if (mass[i]>max)
{
max=mass[i];
}

}

for (i=1;mass[i]<max;i++)
{
if (32000%i==0)
{
mass[i]=mass[i]*max;
}
}

for (i=1;1<=n;i++)
{
printf("mass[i] =%lf",mass[i]);
}

getch();
}






после того как ввожу последний элемент, бесколенчно пишет "mass[i] = 0.000000".
Ничего не поменялось

Catala
13.04.2012, 20:25
#include <conio.h>
#include <math.h>
#include <stdio.h>

void main()
{

int max, n, k, i;

printf("vvedite razmernost ");
scanf("%d", &n);

int * mass = new int[n];

for (i = 0; i < n; i++)
{
printf("vveite chislo ");
scanf("%d", &mass[i]);
}

max=mass[1];

for (i = 2; i < n; i++)
{
if (mass[i] > max)
{
max = mass[i];
}

}

for (i = 0; mass[i] < max ; i++)
{
if ((i % 2) == 0)
{
mass[i] = mass[i] * max;
}
}

for (i = 0; i < n; i++)
{
printf("mass[%d] = %d\n", i, mass[i]);
}

getch();
}

Catala
13.04.2012, 20:34
Только в конце delete не забудь.

по идее если i - четное, то он должен делить без остатка 32000 ( к примеру)
А, ну и это разумеется является грубой ошибкой.

К@t@LoNeЦ
18.04.2012, 12:06
Дана матрица размерности nxn. Получить одномерный массив, хранящий сумму элементов нисходящих диагоналей матрицы.

Вылазиют две одинаковые ошибки:

" error C2440: =: невозможно преобразовать 'int *' в 'int' "

ошибки в обоих циклах в моменте:

s=s+a[m,p];


Программа:


#include <conio.h>
#include <math.h>
#include <stdio.h>
void main()
{

int i,j,n,m,p,k,s;

int * b = new int[n];


int a[255][255];
printf("vvedite razmer massiva");
scanf_s("%d",&n);

printf("vvedite eliment");

for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
scanf_s("%d",&a[i][j]);
}
}


s=0;
p=0;
m=0;
k=1;

i=n;
j=1;

while (i>=1)
{
m=i;
p=j;
while (m<=n || p<=n)
{
s=s+a[m,p];
m++;
p++;
}

b[k]=s;
s=0;
k++;
i--;
}

i=1;
j=2;

while (j<n)
{
m=i;
p=j;
while (m<=n || p<=n)
{
s=s+a[m,p];
m++;
p++;
}
b[k]=s;
s=0;
k++;
j++;
}

for (i = 0; i< n-1; i++);
{
printf("%d=b[i]", b[i]);
}

getch();
}





Помогите исправить ошибки

Catala
18.04.2012, 12:34
В C a[m][p], а не a[m, p].

К@t@LoNeЦ
18.04.2012, 14:40
другая проблема:

присваивает значению s левые числа, а не s=s+a[m][p] как надо

и в конце не выводит одномерный массив b[2*n-1]

2*n-1 - это количество нужных диагоналей

#include <conio.h>
#include <math.h>
#include <stdio.h>
void main()
{

int i,j,n,m,p,k,s;




int a[255][255];

printf("vvedite razmer massiva ");
scanf_s("%d",&n);



for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
printf("a[i,j] ");
scanf_s("%d",&a[i][j]);
}
}

for(i=0; i<n; i++)
{

for(j=0; j<n; j++)
{
printf("%d ", a[i][j]);
}
if (j=n)
{
printf("\n");
}
}

printf("\n");

int * b = new int[(2*n)-1];

s=0;
p=0;
m=0;
k=1;

i=n;
j=1;

while (i>=1)
{
m=i;
p=j;
while (m<=n || p<=n)
{
s=s+a[m][p];
printf("%d\n ", s);
m++;
p++;
}

b[k]=s;
printf("%d\n ", b[k]);
s=0;
k++;
i--;
}

s=0;
i=1;
j=2;

printf("Vtoroy czickl\n ");

while (j<=n)
{
m=i;
p=j;
while (m<=n || p<=n)
{
s=s+a[m][p];
printf("%d\n ", s);
m++;
p++;
}
b[k]=s;
printf("%d\n ", b[k]);
s=0;
k++;
j++;
}

for (k = 1; k<2*n-1; k++);
{
printf("b[k]=");
printf("%d\n", b[k]);
}

getch();
}



Вот что выводит(рис). А должно быть : b[k]=3, b[k]=5, b[k]=2

Catala
18.04.2012, 14:46
Что такое нисходящие диагонали?

К@t@LoNeЦ
18.04.2012, 14:47
Catala, все диагонали параллельные главной ( включая саму главную)

Catala
18.04.2012, 14:49
Кстати, вам серьезно за такой стиль сразу 0 не ставят?

К@t@LoNeЦ
18.04.2012, 14:51
Кстати, вам серьезно за такой стиль сразу 0 не ставят?
первому курсу?;)

Catala
18.04.2012, 14:51
Catala, все диагонали параллельные главной ( включая саму главную)
Намного понятней:D Надеюсь я правильно угадал. Сейчас посмотрим.

Catala
18.04.2012, 14:57
первому курсу?
Конечно, учить хорошим манерам надо с самого начала.

Я все равно не понял. Что должно вывести для
1 2 3
4 5 6
7 8 9

К@t@LoNeЦ
18.04.2012, 15:03
Catala, 7,12,15,8,3

Сейчас посмотрим.

моя программа настолько безнадежна?:closetema:

Catala
18.04.2012, 15:22
#include <conio.h>
#include <math.h>
#include <stdio.h>
void main()
{

int n;
int i, j;
int diag;
int a[255][255];

printf("vvedite razmer massiva ");
scanf_s("%d",&n);



for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
printf("a[%d, %d]: ", i, j);
scanf_s("%d", &a[i][j]);
}
}

for(i = 0; i < n; i++)
{

for(j = 0; j < n; j++)
{
printf("%d ", a[i][j]);
}
if (j == n)
{
printf("\n");
}
}

printf("\n");

int * b = new int[(2 * n) - 1];
for(i = 0; i < (2 * n) - 1; i++)
{
b[i] = 0;
}
for(diag = 1; diag <= n; diag++)
{
for(i = 0; i < diag; i++)
{
b[diag - 1] += a[n - diag + i][i];
}
}

for(diag = 1; diag < n; diag++)
{
for(i = 0; i < diag; i++)
{
b[(2 * n) - diag - 1] += a[i][n - diag + i];
}
}

for (i = 0; i < ( 2 * n) - 1; i++)
{
printf("b[%d] = ", i);
printf("%d\n", b[i]);
}

getch();
}

моя программа настолько безнадежна?
Я не стал разбираться. Программа с переменными a, b, i, j, k, m, p, s, n не для моей психики.

К@t@LoNeЦ
03.05.2012, 19:49
задача

Использовать структуру.
Дан файл f, содержащий сведения об игрушках: указывается название игрушки (например, кукла, кубики, мяч, конструктор и т.д.), ее стоимость в копейках и возрастные границы детей, для которых игрушка предназначена (например, для детей от двух до пяти лет). Получить следующие сведения:
a. Названия игрушек, цена которых не превышает 4 руб. и которые подходят детям 5 лет;
b. Цену самого дорогого конструктора, оформленную по образцу … руб. … коп.;
c. Названия наиболее дорогих игрушек (цена которых отличается от цены самой дорогой игрушки не более чем на 1 руб.);
d. Названия игрушек, которые подходят как детям 4 лет, так и детям 10 лет;
e. Можно ли подобрать игрушку, любую, кроме мяча, подходящую ребенку 3 лет, и дополнительно мяч так, чтобы суммарная стоимость игрушек не превосходила 5 руб.
f. Имеется ли мяч ценой 2 руб. 50 коп., предназначенный детям от 3 до 8 лет?; если нет, занести сведения об этой игрушке в файл f.


Например у нас есть три игрушки:
1)Название:Кукла
Цена:20000.
Возраст:3-7
2)Название: мяч
Цена:30000
Возраст:4-12
3)Название:Лего
Цена:40000
Возраст:4-9

Вопрос в том, чо я не пойму как сам файл должен выглядеть

1)Построчно 9 строк:
Кукла
20000.
3,7
мяч
30000
4,12
Лего
40000
4,9

2)Или так:
Кукла
Мяч
Лего
20000
30000
40000
3,7
4,12
4,9


Как должен выглядеть файл?

К@t@LoNeЦ
24.05.2012, 19:34
Текст вышезапостенной задачи:

#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <math.h>

struct Student
{
char name[150];
double cost;
int age1;
int age2;

};

int main()
{

int n=10;
int i=0;
int k=0;
int j=0;
int p=0;
Student *st=new Student[n];
double max_konstruktor_cost; //Для задания "b"
double max_toys_cost=st[1].cost; //Для задания "c"


FILE *fo;
fo=fopen("f.txt","r");

if(!fo)
{
printf("Nevozmojno otkrit fail\n");
}

else
{
while(!feof(fo))
{
fscanf( fo, "%s%lf%d%d", &st[i].name, &st[i].cost, &st[i].age1, &st[i].age2 );
p=i;
i++;
}
}




//Задание "а":
printf("\nNazvaniya igrushek, zcena kotorih ne previshaet 4 rub. i kotorie podhodyat detyam 5 let:");
for (i=0; i<=p; i++)
{
if ( (st[i].cost<=4) && (st[i].age1<=5) && (st[i].age2>=5) )
{
printf(" %s", st[i].name );
}
}

printf("\n");


//Задание "b":
for (i=0; i<=p; i++)
{
if ( (strcmp(st[i].name,"konstruktor")==0) );
max_konstruktor_cost = st[i].cost;
while (i<=p)
{
if ( (strcmp(st[i].name,"konstruktor")==0) && (st[i].cost > max_konstruktor_cost) )
{
max_konstruktor_cost = st[i].cost;
}
i++;
}

break;
}
printf("\nZcena samogo dorogogo konstruktora:");
printf(" %.3lf", max_konstruktor_cost);


printf("\n");


//Задаание "c":
max_toys_cost = st[0].cost;
printf("\nNazvaniya naibolee dorogih igrushek:");

for (i=1; i<=p; i++)
{
if ( (st[i].cost > max_toys_cost) )
{
max_toys_cost = st[i].cost;
}
}
for (i=0; i<=p; i++)
{
if ( (st[i].cost == max_toys_cost) || (max_toys_cost - st[i].cost) <= 1 )
{
printf(" %s", st[i].name);
}
}



printf("\n");


//Задание "d":
printf("\nNazvaniya igrushek, kotorie podhodyat kak detyam 4 let, tak i detyam 10 let:");
for (i=0; i<=p; i++)
{
if ( (st[i].age1<=4) && (st[i].age2>=10) )
{
printf(" %s", st[i].name );
}
}



printf("\n");


//задание "e":
printf( "\nMozhno podobrat igrusku, podhodyashuu rebenku 3 let, i dopolnitelno maych tak, chtobi summarnaya stoimost igrushek ne prevoshodila 5 rub:");
for (i=0; i<=p; i++)
{
if (strcmp(st[i].name,"myach")==0)
{
for (j=0; j<=p; j++)
{
if ( (strcmp(st[j].name,"myach")!=0) && (st[j].age1 <= 3) && (st[j].age2 >= 3) && (st[j].cost + st[j].cost <= 5) )
{
printf(" %s", st[j].name );
}
}
}
}


printf("\n");


//Задание "f":
for (i=0; i<=p; i++)
{
if ( (strcmp(st[i].name,"myach")==0) && (st[i].cost == 2.5) && (st[i].age1 >= 3) && (st[i].age2 <= 8) )
{
k++;
}
}
printf("%d",k);
if (k>0)
{
printf("\nKolichestvo myachey zcenoy 2rub. 50 kop., prednaznachenniy dlya detey ot 3 do 8 let:");
printf("%d", k);
}
else
{
//Занести сведения в файл
}



fclose(fo);
getch();
delete [] st;

}






есть все, кроме задания f ,а именно:
Имеется ли мяч ценой 2 руб. 50 коп., предназначенный детям от 3 до 8 лет?; если нет, занести сведения об этой игрушке в файл f.

Как это провернуть, чтоб дозапись шла, начиная с номера со строки, большго чем кол-во строчек файла (их 10 в моем файле), т.е с 11 строчки?

Catala
24.05.2012, 21:22
Про флаг "a+" в fopen ты просто не знаешь или он почему-то не подходит?

К@t@LoNeЦ
25.05.2012, 19:32
Про флаг "a+" в fopen ты просто не знаешь или он почему-то не подходит?
знаю
Но как мне потом записать индекс i номера строки, когда я буду присуждать имени, цене и возрастным ограничениям нужные значения ?

т.е


fo=fopen("f.txt","a+");

st[i].name = "myach";
st[i].cost = 2.5;
st[i].age1 = 3;
st[i].age1 = 8;

if(!fo)
{
printf("Nevozmojno otkrit fail\n");
}

else
{
fprintf( fo, "%s%lf%d%d", &st[i].name, &st[i].cost, &st[i].age1, &st[i].age2 );
}



чему тут будет i равен?

Catala
25.05.2012, 20:45
А почему ты просто не пишешь и читаешь сразу всю структуру через fread и fwrite? Ты попробовал записать с a+? Если я правильно помню он начнет записывать с последней строчке. То есть если было 10 начнет писать с 11. Если так нельзя можно добавить еще одну структуру к массиву в индексе p+1 насколько я понял твои обозначения, открыть файл просто для записи(с удалением содержимого) и заново записать в него весь массив полностью.

К@t@LoNeЦ
23.07.2012, 13:00
Кто-нибудь знаком с такими языками программирования как: LD, FBD, SFC, ST, IL, CFC ?
Просто все они являются языками программирования ПЛК, и первые три из них - графические.

Хотелось бы узнать, насколько сильно отличаются принципы программирования графических языков ПЛК от т.н. "неграфических", в частнотсти, и различие этих шести языков для ПЛК от всеми известных языков программирования (Объектно-ориентированных, скриптовых и т.д.) таких как: Delphi, C++, Assembler и т.д.

К@t@LoNeЦ
15.05.2014, 19:37
Вопрос скорее к знающим Java, но и от любой помощи не откажусь.
Столкнулся с задачей написать клиент-сервер на любом языке, решающий простое задание.
Т.к. сам сейчас начал изучать java, решил на нем и писать.
Задание - сортировка шести чисел по частям.
Имеется строка с шестью числами через пробел на сервере с ограничением на 3 клиентов.
Клиент разбивает этот "массив" (никакой это не массив, просто слово другого не смог подобрать) на 3 куска и отправляет клиентам, чтобы они каждый свой кусок отсортировали и вернули серверу, чтобы что-то еще кое-что дальше сделать, но до этого еще дойти надо....
Так вот, по не знанию матчасти столкнулся с вопросами:
1. у меня при описании сервера есть переменная i, с помощью которой я и подсчитываю клиенты и обрубаю подключения новых, когда i>3. Хотя в мануале написано про какой-то backlog.
.
.
.
public ServerSocket(int port,
int backlog)
throws IOException
Creates a server socket and binds it to the specified local port number, with the specified backlog. A port number of 0 creates a socket on any free port.
.
.
.

Как я понял, он и должен этим заниматься, и я поставил тройку после номера порта, но это ничего не дало. Скорее всего это я что-то делаю не так.
2. Не пойму как оперировать этими клиентами. Т.е. как сделать так, чтобы он первые 2 числа отправлял 1-му клиенту, вторые - 2-му, третьи - 3-му и чтобы я мог вывести на экран номер подключенного клиента. Знаю только как отправить что-то определенное и известное, но не в зависимости от номера клиента.
import java.io.*;
import java.net.*;

class Server extends Thread
{
Socket s;


public static void main(String args[])
{
try
{
int i = 0; // счётчик подключений

// привинтить сокет на локалхост, порт 6665
ServerSocket server = new ServerSocket(6665, 3);

System.out.println("server is started");

// слушаем порт
while(i<4)
{
// ждём нового подключения, после чего запускаем обработку клиента
// в новый вычислительный поток и увеличиваем счётчик на единичку
new Server(server.accept());
i++;
}
}
catch(Exception e)
{System.out.println("init error: "+e);
} // вывод исключений

}

public Server(Socket s)
{
// копируем данные
this.s = s;

// и запускаем новый вычислительный поток (см. ф-ю run())
setDaemon(true);
setPriority(NORM_PRIORITY);
start();
}

public void run()
{
try
{
InputStream sin = s.getInputStream();
OutputStream sout = s.getOutputStream();

DataInputStream in = new DataInputStream(sin);
DataOutputStream out = new DataOutputStream(sout);

BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));

String line = "12 2 12 4 5 6";

System.out.println("\nSending to " + " client!");

String str[] = line.split("[ ]");

out.writeUTF(String.valueOf(Integer.valueOf(str[0])+" "+ Integer.valueOf(str[1])));

System.out.println(String.valueOf(Integer.valueOf(str[0])+" "+ Integer.valueOf(str[1])));
in.readUTF();
System.out.println("Client got a pocket!");

}catch(Exception e)
{System.out.println("init error: "+e);} // вывод исключений
}
}

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class Client extends Thread {

public static void main(String[] args) throws Exception {
try {
Socket socket = new Socket("localhost", 6665);

InputStream sin = socket.getInputStream();
OutputStream sout = socket.getOutputStream();

DataInputStream in = new DataInputStream(sin);
DataOutputStream out = new DataOutputStream(sout);
String line,c = null;

line = in.readUTF();
String str[] = line.split("[ ]");

System.out.println("I got a pocket!");
if (Integer.valueOf(str[0]) > Integer.valueOf(str[1])) {

c = str[0];
str[0] = str[1];
str[1] = c;

}

out.writeUTF("I got it!");
System.out.println("line: "+ str[0] +" " + str[1]);

} catch(Exception e)
{System.out.println("init error: "+e);}
}
}
В гугле в основном простейшие эхо-серверы на одного клиента.

Catala
16.05.2014, 02:57
Непонятно зачем при осваивании основ работать с многопоточностью. Однопоточный сервер, принимаем подключения одно за другим в цикле. Определение порядкового номера подключения проблем вызывать не должно.

Backlog определяет длину очереди. Если сервер обрабатывает клиента быстрее, чем интервалы между клиентами (а это насколько я понял твой случай) в этом параметре нет смысла.

Пример. Допустим backlog равен 5. На обработку клиента нужна минута. В первую секунду каждой минуты стучатся 3 клиента.
1 минута - все 3 клиента зашли в очередь и первый поступил на обработку.
2 минута - первый клиент отключился, в очереди остались двое, как раз хватает места для 3 новых клиентов.
3 минута - второй клиент отключился, в очереди осталось 4. Место осталось только для одного нового (backlog == 5), поэтому два остальных получат connection refused.

К@t@LoNeЦ
22.05.2014, 20:16
Короче поковырялся сегодня - вроде как удалось передать каждому клиенту то, что нужно, но местами набыдлокодил - if в while - масло масленное. Ладно, разбираться потом буду. Все же сдавать уже в следующую пятницу, а еще сортировку по частям на всем этом реализовывать, да и препод по сетевым технологиям в языках ничего не смыслит. Главное, что работает на данном этапе. Плотнее языком летом займусь.

import java.io.*;
import java.net.*;

class Server extends Thread
{
Socket socket;

//num - номер клиента, a - номер массивов для метода run()
int num=1, a=0;

//исходные числа, которые сортируем
String line = "6 5 4 3 2 1";

//создает массив из чисел, разделенных пробелом
String str[] = line.split("[ ]");

public static void main(String[] args)
{

try
{
//i - счетчик подключений, a - номер массивов для метода run()
int i = 1,a = 0;

// создаем сервер на локалхост, порт 6665
ServerSocket server = new ServerSocket(6665);


System.out.println("server is started");
System.out.println("\n---------------------------------------");

// слушаем порт
while(i<=4)
{
// WARNING!
// Следующие 15 строчек - быдлокод!(не исключено,что есть еще)
if (i>3){
server.close();
}
else{
// ждём нового подключения, после чего запускаем обработку клиента
// в новый вычислительный поток и увеличиваем счётчик на единичку
/*!*/ new Server(i, server.accept(), a); //сам не понял, почему надо писать так, но работает

//Инфа о подключенных клиентах
System.out.println("\nClient " + i + " connected!");

i++; //увеличиваем счётчик
a=a+2; //берем следующие 2 числа
}
}
}
catch(Exception e)
{System.out.println("init error: "+e); // вывод исключений
}

}

public Server(int num, Socket socket, int a)
{
// копируем данные
this.socket = socket;
this.a = a;
this.num = num;

// и запускаем новый вычислительный поток (см. ф-ю run())
setDaemon(true);
setPriority(NORM_PRIORITY);
start();
}

public void run()
{

try
{
// из сокета клиента берём поток входящих данных
InputStream sin = socket.getInputStream();
// и оттуда же - поток данных от сервера к клиенту
OutputStream sout = socket.getOutputStream();

// Конвертируем потоки в другой тип, чтоб легче обрабатывать текстовые сообщения
DataInputStream in = new DataInputStream(sin);
DataOutputStream out = new DataOutputStream(sout);

System.out.println("\nSending to " + num + " client!");

// отсылаем клиенту строку = число1_число2
out.writeUTF(String.valueOf(Integer.valueOf(str[a])+" "+ Integer.valueOf(str[a+1])));
// выводим ее на экран
System.out.println(String.valueOf(Integer.valueOf(str[a])+" "+ Integer.valueOf(str[a+1])));

// ожидаем пока клиент пришлет строку текста
in.readUTF();

// отчет о клиенте
System.out.println("Client " + num + " got a pocket!");
System.out.println("\n---------------------------------------");


}catch(Exception e)
{System.out.println("init error: "+e);} // вывод исключений
}
}


import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class Client extends Thread {

public static void main(String[] args) throws Exception {
try {

// создаем сокет на локалхост, порт 6665
Socket socket = new Socket("localhost", 6665);

// из сокета клиента берём поток входящих данных
InputStream sin = socket.getInputStream();

// и оттуда же - поток данных от сервера к клиенту
OutputStream sout = socket.getOutputStream();

// Конвертируем потоки в другой тип, чтоб легче обрабатывать текстовые сообщения
DataInputStream in = new DataInputStream(sin);
DataOutputStream out = new DataOutputStream(sout);

String line,c = null;

// ожидаем пока клиент пришлет строку текста
line = in.readUTF();

//создает массив из чисел, разделенных пробелом
String str[] = line.split("[ ]");

System.out.println("I got a pocket!");

//сортировка пузырьком
if (Integer.valueOf(str[0]) > Integer.valueOf(str[1])) {

c = str[0];
str[0] = str[1];
str[1] = c;

}

//отправляем серверу ответ
out.writeUTF("I got it!");

//выводим то, что получилось на экран
System.out.println("line: "+ str[0] +" " + str[1]);

} catch(Exception e) // вывод исключений
{System.out.println("init error: "+e);}
}
}


server is started

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

Client 1 connected!

Sending to 1 client!
6 5
Client 1 got a pocket!

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

Client 2 connected!

Sending to 2 client!
4 3
Client 2 got a pocket!

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

Client 3 connected!

Sending to 3 client!
2 1
Client 3 got a pocket!

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

Только по идее он должен выключаться при попытке подключить четвертый клиент, но он продолжает работать, а на клиент выдается вот это:
run:
init error: java.net.ConnectException: Connection refused: connect
СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 2 секунды)