Сап ананасы, снова недофизик-кун. Нужна опять помощь в погроммировании. Пик 1 - задание, пик 2 - что смог сделать я, код: https://pastebin.com/EMzMQseL Никак не могу додуматься, каким хуем можно отсортировать вводимые данные и как вообще всё устроить. Код ессесна на СИ
Бамп
>>153539199 (OP)Я зашел пообсуждать тянучек а ты хуйню принес сюда. Уебывай
>>153539315обсуждай
>>153539374У меня уже нет настроения из-за тебя
>>153539420Почему?
А зачем тебе сортировать? Ты хочешь так чтобы вся физика была вверху и по году издания?
>>153539199 (OP)Создаешь новый массив для книг по физике. Перебираешь весь массив libry заново, если попадается книге по физике, добавляешь ее в массив книг по физике. Найти самую старую книгу наверно сам сможешь.
>>153539199 (OP)Очевидно, что тебе нужно использовать Хаскель, а не какой ни си
>>153539474Ну типа того. Чтобы сначала вывелись все книги, потом вывелись отсортированные с физикой, и 3-м шагом чтобы самую старую нашёл
>>153539199 (OP)Пиздос бля хранить такие вещи в стеке, а не на куче, ахуеть просто.
>>153539658Дибилойд, он же написал, что физик, а не программист. Нахуя ему разбираться в этом?
>>153539576смысл? как бы тебе нужно их (относящиеся к физике) все посчитать. это значит завести нулевой счетчик пройтись по массиву и если физика то счетчик++нужно найти самую старую книгу(из всех не только по физике, не так ли?) это поиск минимума в значении года, как у нас минимум ищется? правильно заводим переменную для минимума присваиваем ей значение первого и далее проходим по массиву и если меньше минимума то заменить минимум
>>153539576Смари, тогда тебе не нужно сортировать.Для начала создай переменную для счета физики, ведь тебе надо количество книг по физике.Первый цикл будет проходится по массиву книг и проверять каждую итерацию поле field, если оно равно физика, то выводишь книгу и увеличиваешь счетчик на 1.Для нахождения самой старой книги создаешь еще 2 служебные переменные: для того чтобы хранить год и для индекса в массиве. Сначала записываешь в переменные:год первой книги и 0 соответственноВторой цикл будет начинаться с 1, проходить по массиву проверяя поле year и если год текущей книги в массиве меньше того, что записан в переменной записывать в ту самую переменную значение года и значение индекса в другую.В конце просто выводишь по индексу книгу и самый маленький год из переменной.
>>153539986Что ты предлагаешь? Про счетчик понятно, а как реализовать с вводимыми во время программы данными такую хуйню, никак?
>>153540047Вот это всё в отдельной функции делать?
>>153539484/thread
>>153540101Так ты блять уточняй, в задании ровным счетом 0 слов о вводимых данных.
>>153540171Как хочешь, я бы предпочел в отдельной функции, так красивее. Тут уже на твоё усмотрение.
Блять, оп, ты физик нахуй, тебе доступны таинства законов природы, а ты не можешь решить задачи чуть выше школьного уровня? Возьми любой учебник по си, почитай главу про структуры данных. Вместе со стаковерфлоу этого достаточно с избытком.
>>153540238С 1 вроде понятно, а со 2 не очень. Как он примерно будет записываться, можешь набросать, чтобы представить как-нибудь?И еще, как в 1 случае сделать проверку после каждой итерации? Должен сделать условие if ... = physics и т.д.?
>>153540171Еще кое-что, анон, я забыл что мы не на берегах си++, так что тебе надо будет для проверки равности строк использовать strcat(), которая лежит в string.h.
>>153540405Блять, я бы не обращался на двач, если бы изначально не читал. В 3-х источниках, которые я читал, тупо описание и вывод данных на консоль без сортировки, хуёвки и т.д., что как раз мне и нужно.
>>153540101ты уже ввел книги не так ли? // пока что весь твой код это и делаету тебя есть массив книг.в чем проблема? добавляешь пару описанных циклов с выводами после них и все работаетможно вообще в один запихнуть, если нет ограничений что должны работать раздельно, можешь в функцию.Нужен диалог с пользователем мол "что делать начальника?" тогда да лучше функцию запихнуть(хоторая будет спрашивать пользователя какая отрасль нужна, и далее уже работать циклом, ну а год он всегда одинаковый) и сам диалог через тот же do while, где спрашивют какой из пунктов выполнить а после получая ответ реагирует по условиям мол 1 это категория, 2 год, 3 выход
>>153540572я еще раз спрашиваю зачем тебе сортировка? и вывод книг? от тебя здесь это не требуется
>>153540483int year = libry[0].year, int ind = 0;for(int i = 1; i < 6; i++) {if(libry.year < year) {ind = i;year = libry.year;}}//вывести книгу из библиотеки по ind//вывести год книги из переменной year или из самой книги по ind
>>153540641Ну блять, шоб красиво было!! Ну чтобы хотя бы начальные книги вывелись, а потом просто количество с физикой и самую старую. ИЗначально я перегнул
>>153539199 (OP)Иди нахуй
>>153539199 (OP)нахуя вы приходите на мои двощи?
>>153540804>>153540881Сёма, плиз
>>153540717И на счет первого: //где-то там начался циклif(strcat(libry.field, "Физика")) {//тут должен быть ваш код}//где-то там цикл закончился
>>153540913БЛЯ, strcmpТОЛЬКО ПРОСНУЛСЯ , СОРИ
впадлу вспоминать С, вот тебе на шарпе, адаптируй:public struct Book{ public string name; public string field; public int year;}public static void Main() { Book[] library = new Book[6]; //....some other code.... Console.WriteLine("Hello World!"); } public int TotalCount(Book[] books, int n, string field) { int count = 0; for(int i =0; i<n; i++) if(books.field==field) count++; return count; } public Book FindOldest(Book[] books, int n) { Book oldest = books[0]; for(int i =1; i<n; i++) if(books.year<oldest.year) oldest = books; return oldest; }
>>153540962/t/t/t/tЩас бы шарп адаптировать к си/t/t/t/t
https://pastebin.com/WCJr3mG1
>>153541015да хули я и так писал как будто я в си
>>153540962че это?
>>153540483Оп, я два раза оговорился обосрался, там чтобы проверить равность подключаешь библиотеку string.h и вместо strcat пишешь strcmp, аргументы те же.
>>153541230https://pastebin.com/WCJr3mG1сука это си-подобный язык разберись блять
>>153541296>strcmpКак он работает? просто сравнивает две строки?
>>153541396Побитово сравнивает два массива char'ов. Типо str[0] == str1[0]str[1] == str1[1]и так далее пока не встретит \0.
>>153541396Кстати, тебе еще надо посмотреть что она возвращает, там, по моему, если строки равны она дает 0 но это не точно.Загугли strcmp и посмотри че там да как.
>>153539199 (OP)теплые лабочки по С, в итоге стал php макакой.Что же со мной случилось...тихий плач
>>153541919почему так произошло?
>>153541919>стал php макакойбросай это дело
имплайнг С и php чем-то отличаются
>>153539199 (OP)Заполняешь массив данными, прогоняешь его через цикл, сравнивая field c нужной строкой (для этого можно использовать функцию strcmp), попутно находишь самый старый год издания
>>153542315Имплайнг С и С++ чем-то отличаются.
>>153539451сука, у неё хуй
>>153542315Имплайнг С и С# чем-то отличаются.
no problem
>>153545017ебать рот, как мне это перевести?
bump
бамп
>>153545017Почему так охуенно лаконично выглядит?
>>153542216Немогу, я долорозависимый.
Типо того, ухожу, потому на скорую руку.#include <iostream> #include <algorithm> #include <list> //book struct definition//...bool checkFiz (book b) { return (b.field == "Physics"); }bool operator < (book const& lB, book const& rB) { return lB.year < rB.year;}int main () { std::list<book> booksList; //bla-bla-bla...initialization //... //Count Phisics int phCount = count_if (booksList.begin(), booksList.end(), checkFiz ); std::cout << "Phisics books count" << phCount << "\n"; //Find oldest std::list<book>::iterator oldestBook= std::min_element(booksList.begin(), booksList.end()); std::cout << "oldestBook" << (oldestBook).name << "year" << (oldestBook).year <<"\n"; return 0;}
>>153545266ne OOP potomu chto
>>153547588Вот этот все верно написал, как по мне. Только в конце надо разыменовывать итератор.std::cout << "oldestBook" << (oldestBook).name << "year" << (oldestBook).year <<"\n";Или oldestBook->name.
>>153547588Бля, это же кресты, а надо простой! Нужен переводчик!!
>>153548065Лол, вакаба съедает зведочки, вот в чем дело. Так в скобках, перед oldestBook должна стоять зведочка.
тест
Оп, ты тупой? Нет, правда. Я первокурсник, но код для этого говна занял 3 минуты
JAVA-ENTERPRIZE-OVERLORD VKATILSYA
Нахуй С?Для академических изысканий питон уже давно юзают же
>>153552220напиши свою почту или вкудахте
>>153539199 (OP)по алфавиту и году.
>>153553206А, блять, строчки еще сравнивай, чтоб там Физика была.
>>153552489Для академических изысканий юзают Z3
ОП, если у тебя консольное приложение (а чистый си именно такой), то делай все сортировки уже в процессе добавления новой книги в массив. Тебе нужно погуглить алгоритмы сортировки (пузырьком там, все такое). После этого весь твой поиск будет сводиться к одному циклу - поиск в сортированном массиве первой книги со типом "физика".
>>153553929А, ну и при добавлении новой книги будешь инкрементировать соответствующую переменную а-ля "cntPhys", "cntMath", etc.