Подскажите пожалуйста, по чему не срабатывает цикл: В цикле foreach каждый элемент массива разбивается по буквам, удаляются две последние буквы, массив букв объединяется в строку и, по идее, должен заменять начальный элемент массива слов на себя. Срабатывает все, кроме замены.. Подскажите в чем ошибка... foreach($words_words as $item) { $item=str_split($item); array_pop($item); unset($item[count($item)-1]); $item=join("", $item); //$words_words[$item]=$item; //print_r($words_words); }
а чего сделать то надо? Оль, тут нет телепатов, ты пиши, вот пришел такой-то массив, я его значит перебираю, на выходе мне нужно то то и то то
Код (Text): foreach($words_words as $item) { $item=str_split($item); array_pop($item); unset($item[count($item)-1]); $item=join("", $item); //$words_words[$item]=$item; //print_r($words_words); } В этом цикле выбираю слова из массива $words_words, делаю из этого слова массив букв, удаляю две последние буквы, из массива букв снова делаю слова и пытаюсь записать в массив слов Добавлено спустя 36 секунд: Ну я это уже сделала, только вот зря( Добавлено спустя 48 секунд: Вообще вся эта катавасия для того, чтобы убрать повторяющиеся слова в массиве
Ну почему же я телепат Код (PHP): $words_words = array('qazwsx', 'edcrfv'); $data = array(); foreach($words_words as $item) $data[] = substr($item,0, -2); Проще так... Так что надо убрать повторяющиеся слова? Добавлено спустя 2 минуты 10 секунд: Может тебе array_unique нужен?
Да так действительно проще...Спасибо, только вот как хотела, мне это не поможет. Суть задания в том, чтобы убрать повторяющиеся слова в массиве. Слова "красный" и "красное" считаются одним словом.
Это твой доцент так сказал? С точки зрения программирования это разные слова. У тебя конкретный набор слов или они могут быть произвольными?
Слова произвольные, они берутся из разных текстовых документов, к которых написаны статьи на различные темы, нужно составить вектор всех слов со всех документов и избавиться от повторов, повторов с точки зрения русского языка....такая вот часть задания.
Помнишь я говорил про черную магию... забудь про нее, тут поможет магический бубен и танцы у костра с прочтением особых магических мантр Это в институте так мучают?
На 4-м курсе будет только менеджмент...по крайней мере так в учебном плане написано Ну что-то вроде этого ЕЛЯБИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ – первый классический университет на Южном Урале. Основан в 1976 году (4 октября) на основании Постановления Совета Министров СССР от 3 сентября 1974 года № 690 с целью формирования в Южно-Уральском регионе центра образования, науки и культуры, удовлетворения потребности региона в высококвалифицированных кадрах, имеющих фундаментальную университетскую подготовку. Первым ректором университета стал доктор педагогических наук, профессор, Член-корреспондент АПН СССР Семён Егорович Матушкин (руководил вузом с 1976 по 1987 гг.). В 1987 году на посту ректора его сменил доктор физико-математических наук, лауреат государственной премии СССР Валентин Дмитриевич Батухтин (1987-2004). С 2004 г. по настоящее время университетом руководит доктор экономических наук, профессор Андрей Юрьевич Шатин. Университет осуществляет уровневую подготовку выпускников по основным образовательным программам высшего профессионального образования: специалитет, бакалавриат, магистратура и послевузовского профессионального образования (аспирантура, докторантура). Реализует довузовскую подготовку, дополнительное образование и повышение квалификации. В структуре университета образовательная деятельность ведется на 14 факультетах и в 6 учебно-научных институтах. Реализуется подготовка по 42 основным образовательным программам, 33 программам бакалавриата и по 22 магистерским программам. В структуре ФГБОУ ВПО «ЧелГУ» функционирует 3 филиала: два из них в городах Челябинской области: Миассе и Троицке, один за рубежом – в г. Костанай Республики Казахстан. При университете действуют 8 диссертационных советов по защите докторских диссертаций. Образовательную деятельность в ФГБОУ ВПО «ЧелГУ» осуществляют высококвалифицированные специалисты, 65,6% из которых имеют ученую степень (ученое звание). Кандидаты наук, доценты составляют 51%, доктора наук, профессора – 14%. Численность студентов, обучающихся по всем формам обучения, на сегодняшний день составляет около 24 тысяч человек. Из года в год расширяется круг ученых, работающих по грантам Европейской Комиссии «Темпус», Президента РФ, Правительства РФ, а также научных фондов: РФФИ, РГНФ, Министерства образования и науки России, областных целевых программ: государственной поддержки фундаментальных научных исследований и высшего профессионального образования и поддержки научного творчества молодежи в вузах. Студенты и аспиранты ЧелГУ ежегодно становятся обладателями стипендий Президента РФ, Правительства РФ, Губернатора Челябинской области, Законодательного собрания Челябинской области, Администрации города Челябинска. ФГБОУ ВПО «ЧелГУ» - единственный из вузов России участвовал в разработке Европейского приложения к диплому «Diploma Supplement» и с 2001 г. первым начал их выдачу. В настоящий момент в университете в организацию учебного процесса внедряется кредитно-модульная система. Основополагающим принципом организации научной деятельности в университете остается сохранение ориентации на развитие фундаментальных исследований в естественнонаучном, гуманитарном и социально-экономическом направлениях, на их сбалансированность с прикладными исследованиями, на поддержку научных школ. На математическом факультете преподавательскую и научную деятельность ведет действительный член Российской академии наук А.М. Ильин, возглавляющий школу уральских математиков, исследующих асимптотические методы решения уравнений математической физики. Под его руководством на базе ЧелГУ в течение нескольких лет работает Областной математический семинар, в котором участвуют все ведущие математики Челябинской области. Под руководством члена-корреспондента Российской Академии Наук, доктора физико-математических наук, профессора С.В. Матвеева ведется научная деятельность в области топологии многообразий и компьютерной топологии. Кафедрой математического анализа заведует один из самых в настоящее время молодых докторов наук в России, профессор, обладатель многочисленных грантов В.Е. Федоров. Всего в Челябинском государственном университете успешно развиваются более тридцати научных школ. Под руководством профессора В.Д. Бучельникова развиваются прикладные и фундаментальные исследования в области физики магнитных явлений. Широко известен в Российской Федерации Межвузовский медико-физический центр Челябинского государственного университета и Челябинской медицинской академии. В центре, под руководством профессора А.В. Лаппы создаются уникальные методики малоинвазивных операций с применением лазеров. В 2007 году с целью развития фундаментальных исследований в области физики и химии современных функциональных материалов, выпускаемых промышленностью Урала и разработки современных материалов в ЧелГУ был создан Центр коллективного пользования, оснащенный суперсовременным оборудованием. В частности, многофункциональным рентгеновским дифрактометром D8 ADVANCE, который позволяет изучать структуру вещества на молекулярном уровне. Под руководством профессора Е.А. Беленкова ведутся исследования в области компьютерного материаловедения, наноалмазов и родственных углеродных наноматериалов. С 1999 года профессор Л.А. Шкатова успешно возглавляет работу вузовской академической лаборатории межкультурных коммуникаций, созданной на основании Договора о научном сотрудничестве между Институтом языкознания РАН и ЧелГУ. В вузе создан Центр исследований конституционно-правовых проблем суверенной демократии, возглавляемый профессором В.А. Лебедевым. Хорошим примером гармоничного сочетания фундаментальных научных исследований с практикой является деятельность кафедр «Микробиология» и «Радиационная биология», под общим руководством декана биологического факультета, профессора А.Л. Бурмистровой. Ученые Института психологии и педагогики ведут работу в одном из важнейших на сегодняшний день в педагогической науке направлении: они исследуют проблемы управления системой образования и управления качеством образования. Вузовско-академический центр, созданный экономическим факультетом и Институтом экономики Уральского отделения Российской академии наук, выполняет комплекс исследований, включающих разработку методологических рекомендаций по прогнозированию социально-экономического развития малых городов субъектов Федерации (научный руководитель — профессор А.Ю. Даванков), по разработке теоретико-методологических основ развития человеческого капитала (научный руководитель — профессор A.В. Горшков). Важным фактором в становлении и развитии университета всегда была деятельность ученых-археологов. В 1987 году ими под руководством профессора Г.Б. Здановича был открыт уникальный протогород «АРКАИМ», возраст которого составляет более 4 тысяч лет. С 1992 года ЧелГУ занимается обучением инвалидов с 1992 г. В настоящее время эта работа является одним из приоритетных направлений деятельности, а Челябинский государственный университет является экспериментальной площадкой Министерства образования и науки Челябинской области в сфере образования инвалидов. На сегодняшний день в университете сформирована инновационная система доступности высшего образования для инвалидов. В ней для этих целей предусмотрена особая структура – Региональный центр образования инвалидов (РЦОИ), который не имеет аналогов в российских вузах. С 2002 года впервые в России была создана Ассоциации образовательных учреждений и научных организаций «Челябинский университетский образовательный округ». В состав Ассоциации входят образовательные и научные учреждения, заинтересованные в развитии образования в Челябинской области. Главной целью объединения является повышение эффективности и качества образовательного процесса, развития и совершенствования региональной системы образования, объединение усилий в осуществлении принципов непрерывности и доступности образования, развитие методик новых форм и технологий обучения, разработки и внедрения передовых идей, адаптации образовательных учреждений и их выпускников к социальным, экономическим и культурным потребностям общества и изменениям рынка труда. Ведётся постоянная работа по установлению двусторонних связей ЧелГУ. В настоящий момент налажены партнерские отношения и ведется сотрудничество с вузами Великобритании, Германии, Голландии, Франции, Китая, Турции, Сирии и др. В ЧелГУ обучаются более 500 иностранных студентов. Вузом заключены договора и ведется сотрудничество с рядом европейских вузов по программам двойного диплома. Ведется обучение в аспирантуре по 49 специальностям. Добавлено спустя 58 секунд: Только на разные темы
Ректор тебе этого не простит В таких случаях надо в начале попробовать поискать помощи в виде готового решения... Нагуглил это http://sourceforge.net/projects/phpmorphy/?source=dlp Там есть русский словарь. Может как то облегчит задачу. Ну а так надо подумать, ну и про танцы с бубном не забывай помогает Посмотри тот скрипт если что пиши интересно стало...
нет, я хочу сказать, что такая задача дана для того, чтоб молодой it "специалист" (кавычки тут не зря) не смел тыкать в нос прожжжжжжоному программисту, мол вы че там акуели? я такие задачи в универе решала какдвапальцаабассать! Ну вы лошара.....ну вас в жопу, найду молодого и способного на фрилансе.....да, и за 5 копеек.... вот решишь САМА будешь тыкать, а через 2 года ты будешь никто с красивой бумажкой.... НЛ (ничего личного)
function getBaseForm($word, $annots) { if(false === $annots) { return false; } $annots = $this->decodeAnnot($annots, true); return $this->composeBaseForms($word, $annots); } Вот что-то нашла, только откуда ноги растут у кода не разберешься.... Добавлено спустя 40 минут 24 секунды: Дмитрий, я не могу понять вашего агрессивного настроя, я ничего обидного вам не говорила, и уж тем более не "тыкала" вам "мол я такие задачи" и т.д. Я обратилась на форум за помощью, за советом более опытных в данном языке программирования людей. Чем я могла задеть ваши чувства я не представляю Добавлено спустя 8 минут 31 секунду: Посмотрела пару скриптов с этого проекта, для меня довольно сложно разобраться...тем более классы слабое место... Добавлено спустя 2 минуты 26 секунд: Одногруппники делали двумя спосабами: регулярками или similar_text()...Можете подсказать как в similar_text() задать порядок расположения букв?
similar_text() вычисляет степень похожести слов. вот вы их соберите в массив. пробегитесь по нему, и ищите эту степень похожести. если слова похожи например на 70% то можете считать их одинаковыми и удалять одно из них. и так далее. еще почитайте про расстояние Левенштейна. в php есть функция levenshtein() готовая...
Только не все слова будут правильно удаляться в любом случае. Вот сравним два предложения: Ленин портфель упал в лужу. Ленин - вождь революции. И там и там слово "Ленин", только это совсем разные слова Добавлено спустя 2 минуты 48 секунд: И таких примеров можно найти немало в текстах, когда слова пишутся одинаково или очень похоже, автоматикой определятся как однокоренные, но на самом деле значение их вообще никак не связано друг с другом.
Я и ту и ту функции смотрела, но Similar_text() не учитывает порядок букв...т.е. слова "кот", "кто", "ток" - считаются 100% одинаковыми. А с Левенштейном тоже какая-то загвоздка была...уже не вспомню какая точно....Вот что придумала.... Код (Text): for($i=0; $i<count($words_words); $i=$i+1) { //$col[$i]=0; $item=str_split($words_words[$i]); $jyem=str_split($words_words[$i+1]); //print_r($jyem); $result_array=array_intersect_assoc($item, $jyem); if((count($result_array)==count($jyem)-2) ||(count($result_array)==count($item)-2)){ unset($words_words[$i+1]); $col[$i]=1;} elseif((count($result_array)==count($jyem)-1) ||(count($result_array)==count($item)-1)){ unset($words_words[$i+1]); $col[$i]=1;} elseif((count($result_array)==count($jyem)-3) ||(count($result_array)==count($item)-3)){ unset($words_words[$i+1]); $col[$i]=1;} //else $col[$i]=0; } Вроде как работает) Добавлено спустя 6 минут 51 секунду: Возникает другая проблема...Только уже в другом цикле Код (Text): for($i=0; $i<count($words_f[0]); $i++) { $words_f[0][$i]=$words_f[0][$i]+$col[0][$i]; } print_r($words_f); Ассоциативный массив $words_f содержит в качестве ключей слова, а в качестве значений - количество повторений слова в первоначальном массиве.. Массив $col содержит в качестве значений 0 или 1. Количество элементов в массиве одинаково, наличие 0 или 1 в массиве $col соответственно для каждого ключа массива $words_f. Но при суммировании элементов получается меньше...Подскажите, пожалуйста, почему?