Почему минимальное число - 0 ?
В /pr анонов нет, приходится тут допытываться у фрилансеров 300килокгривен\наносекунд.
Бамп
>>149025167 (OP)Ты минимум нулём инициализируешь, довен.
>>149025338Первым элементном массива, а не нулём.
>>149025412Первым элементом ТОЛЬКО ЧТО СОЗДАННОГО МАССИВА.
>>149025463А почему в max тогда не ноль?
>>149025594Тому, що при поиске минимума, ты сравниваешь все возраста с нулём. Естественно, ноль меньше. А при поиске максимума наоборот, и всё работает.
>>149025463Я записал в массив данные ужеcin << men
>>149025594Потому что есть что-то крупнее нуля, очевидно.
>>149025740А как найти минимальное тогда7
>>149025786Инициализируй минимум недоступно-великим числом.
>>149025594Решение - создавать переменную (или присваивать ей значение) ПОСЛЕ заполнения массива.>>149025748Это так не работает, лел.
Крестоблядь подзалупная.
Спасибо, анон!>>149025839
>>149025962Да впрочем и не за что.
>>149025961А что в этом такого? Сам на каком языке программы пишешь?
1. Ты объявил массив. Но не проинициализировав его - уже обращаешься к нему (по факту там мусор, тебе повезло что 0 возвращает).2. Как проинициализируешь,тогда уже можноmax = age[0]min = age[0]
>>149025839шириной пизды твоей мамаши?
Зачем он объявил количество элементов массива не константой? Так разве можно? Он же не динамический.
>>149025167 (OP)Почему ты пришёл с такой проблемой на двачи?
>>149026017Я валенки катаю вообще-то.
>>149026137Кстати да, блять. Каким хуем это вообще работает?
Зачем объявлять минимум через какую-то хуйню, когда его можно объявить в теле цикла, как значение первого элемента, и уже дальше сравнивать с ним?
>>149026396>>149026137От среды и компилера зависит судя по всему. VC не разрешает так делать.
>>149026436Потому что ты еблан.
>>149026518Причём в его объявлении men = 0, то есть массив объявлен как age[0].
>>149026650Обоснуй.
>>149026707Да там даже не 0. Она у него не инициализирована.
>>149026518>void>return 0???
>>149026870Ебать ты лох.
>>149025962Пиздос, 38 строк крестов = 4 строкам на питоне.Неужели там нет либы для работы с массивами и их элементами?
>>149026979Обоснуй
>>149027008Я просто ебанутый. Но можешь предоставить код на питоне, я просто только учусь программировать.
>>149026870В чём вопрос собсно?Тип возвращаемого значения пишется перед именем функции, а там int. void просто говорит о том что формальные параметры у функции отсутствуют.
>>149027008Да и вообще, там всё объявить в одну строку можно было, есть пробелы (я для красоты сделал), так что покажи пожалуйста 4 строки на питоне.
>>149027022Функция не принимает никакие аргументы, потому и void. Хули неясно?
>>149027008Есть, STL называется это убожество. Но ОП в них похоже не может.
>>149027125Ясно, понятно. Просто сама воид вроде-бы ничего не возвращает, так что удивился немного. А можно вот так: void main() ?
>>149027205>>149027205>>149027200Ну я же только вкатился! Ещё даже в классы не могу111
>>149025167 (OP)Тебе книжку по крестах стоит почитать - какие-то бест приктики получишь.
>>149027328Советую поскорее выкатываться из этого мрака и пиздовать в какой-нибудь C#. Нахуй оно не нужно.
>>149027250Можно и так.
>>149027427А можешь посоветовать какую-нибудь литературу?
>>149027511Смотри в сторону Страуструпа. Ну и Г. Шилдта. У них там есть всякая хуета полезная.
>>149027511https://github.com/sosachbot/cppthreadhat/wikiЛипмана как раз и читай.Но сначала может немного ввести в ступор то что там поясняется типо по хардкору, первх процентов 5 (наверное заинтересовать хотять, но только запутвают), а потом уж нормальн овсе рассказвают.>>149027726Страуструп как настольная когда вкатишься. Шилда не рекомендую.
МЯВС
>>149026870Ало, МакФлай, думай!Функция возвращает int, а не void.
>>149028263А вот и вполне годное решение.
>>149025167 (OP)У тебя минимум инициализируется до инициализации массива.Переставь строчку min=age[0] между первыми двумя циклами.
Пошагово пройдись. Ты никогда в своём массиве не найдешь число, меньшее нуля. Десять, двадцать - всё оно меньше нуля, условие никогда не выполнится и присваивание не произойдёт. Когда ищешь минимум, инициализируешь переменную min ПЕРВЫМ элементом массива. А дальше цикл такой же.Тред не читал.
>>149026518Лол, даже тут микрософт свои анальные ограничения вставила, кек.
>>149026137В каком смысле не константой?
>>149026707> массив объявлен как age[0].И что? (age+0)*, что тебя смущает?
ГАВС
>>149028975Где конкретнее, любопытно?
>>149029088*(0+age) то есть, да я те больше скажу, вот такая запись [0]age=13 тоже работать будет
>>149029131>VC не разрешает так делать.
Потому что ОП - ХУЙ
>>149029294Возможно, на это есть основания у них. Хотя часто мелкомягким похуй на здравый смысл.
>>149029439Нет, это правильно, нехуй так делать, но суть в том, что они это за тебя решили.
>>149029555Их любимая политика.
>>149029439 int sockfd, newsockfd, portno; socklen_t clilen; char buffer[BUFSIZ]; struct sockaddr_in serv_addr, cli_addr; int n; sockfd = socket(AF_INET, SOCK_STREAM, 0); bzero((char *) &serv_addr, sizeof(serv_addr)); portno = atoi(argv[1]); serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = INADDR_ANY;Во, нашёл. Например в линупсе для этих целей макросы юзают, char buffer[BUFSIZ];>BUFSIZ. Buffer size. This macro constant expands to an integral expression with the size of the buffer used by the setbuf function.
>>149026518размер масива должен быть константой, то есть зафиксированным, так компилятор устроен. просто во время компиляции он не знает значения в переменной, оно туда записывается во время исполнения проги. вот если через const или #define то можно
>>149029555Походу зря я гнал на мелкомягких, хотяя хуй знает, всегда же говорят, что С подмножество C++, с такой точки зрения они очень хуёво поступили, обратная совместимость нахуй идёт.t), so in G++ (without being -pedantic about following the C++ standard), you can do:int n = 10;double a[n]; // Legal in g++ (with extensions), illegal in proper C++If you want a "variable length array" (better called a "dynamically sized array" in C++, since proper variable length arrays aren't allowed), you either have to dynamically allocate memory yourself:int n = 10;double* a = new double[n]; // Don't forget to delete [] a; when you're done!Or, better yet, use a standard container:int n = 10;std::vector<double> a(n); // Don't forget to #include <vector>If you still want a proper array, you can use a constant, not a variable, when creating it:const int n = 10;double a[n]; // now valid, since n isn't a variable (it's a compile time constant)Similarly, if you want to get the size from a function in C++11, you can use a constexpr:
>>14903024674down voteacceptedIn C++, variable length arrays are not legal. G++ allows this as an "extension" (because C allows it), so in G++ (without being -pedantic about following the C++ standard), you can do:Криво скопировал.
>>149030298>G++ allows this as an "extension" (because C allows it)
>>149030246>const int n = 10;>double a[n]; // now valid, since n isn't a variable (it's a compile time constant)>Similarly, if you want to get the size from a function in C++11, you can use a constexpr:Анон с VC, можешь проверить? Попробуй с конст объявить, будет ругаться?
>>149025167 (OP)Проиницилизируй минимум максимальным интом. А так же вопрос: а разве так можно работать в сплюснутом так с массивами? Я не заметил выделения памяти под новые ячейки
>>149030474На стеке почему нет.
>>149030456Нет, не ругается. Тут всё ок.
>>149030967Короче в стандарте С++ это запретили, чтобы не было лишней возможности отстрелить себе ногу, скажем переменная объявлена в одном месте, массив в другом, если поменять значение переменной, то весь код будет работать через жопу. В G++ же такую возможность оставили ради возможности компилить сишный код, где по каким-то причинам это использовалось. Век живи век учись.
>>149025167 (OP)>Почему минимальное число 0?
>>149025167 (OP)>int men, age[men];Лол кек, чебурек.
С++ не для тебе. Учи жабу, там хотя бы работа с массивами защищена от таких довенов как ты.
>>149026137Он создаёт массив неизвестного массива, зависит от того, что лежит в men. А дальше плюсам похуй, что у него индексы вылезли за границы массива и поэтому говнокод ОПа работает.
>>149033047>неизвестного размераФикс
>>149028263И сейчас ОП такой справшивает, что такое звёздочка.
>>149025167 (OP)Как это говно у тебя в асксес виолейшн или сегфолт не проваливается...
>>149035089UB
>>149026518int[] array = new int[size];
>>149036818if(!array)....
300