EbalKopal #721 3 октября 2013 Дана последовательность чисел. Найти в ней наименьшее число. Входные данные. Задано сначала число N (количество чисел в последовательности), а затем N чисел. Выходные данные. Выведите наименьшее число. c++ mingW поможет кто? универский быдокод #include <stdlib.h>#include <iostream>#include <ctime>using namespace std;void fun(int N){int* mas;mas = new int[N];srand( (unsigned) time( NULL));for(int i = 0;i < N;i++){mas = rand();}for(int i = 0;i < N;i++){cout << mas << ' ' ;}int min=mas[0];for(int i=0;i < N;i++){if (mas<=min)min=mas;}cout<<"\n minimum ="<<min<<"\n";};int main(){fun(5);system("pause");} Поделиться сообщением Ссылка на сообщение
ClayMan #722 3 октября 2013 Math.min.apply(Math, nums.slice(1));ему за функции по жопе надают инфа сотня Поделиться сообщением Ссылка на сообщение
rubish #723 3 октября 2013 Math.min.apply(Math, nums.slice(1));ему за функции по жопе надают инфа сотняза сортировку для того, чтобы достать минимальный или максимальный элемент надо пиздить ногами или даже ломом Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
Tinplz #724 3 октября 2013 (изменено) Дана последовательность чисел. Найти в ней наименьшее число. Входные данные. Задано сначала число N (количество чисел в последовательности), а затем N чисел. Выходные данные. Выведите наименьшее число. c++ mingW поможет кто? Как всегда, искренне помогаю начинающим плюсовщикам #include "stdafx.h" #include <iostream> #include <sstream> #include <vector> #include <algorithm> #include <numeric> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { vector<double> vec; cout << "Input numbers count in sequence\n"; size_t numbers_count; cin >> numbers_count; if (numbers_count == 0xcccccccc){ cout << "Invalid input. Interrupting. \n"; std::exit(1); } cout << "Input numbers sequence \n"; double input_val; cin.exceptions(std::istream::failbit | std::istream::badbit); while ( numbers_count --> 0){ try { cin >> input_val; vec.push_back(input_val); } catch (std::istream::failure e) { cerr << "Invalid input. Interrupting. Internal exception : " << e.what() << endl; std::exit(1); } } cout << "Minimum number is : " << * std::min_element(vec.begin(),vec.end()) << endl; return 0; } Изменено 3 октября 2013 пользователем Tinplz Поделиться сообщением Ссылка на сообщение
Двапой #725 3 октября 2013 Жесть какая-то чтобы найти минимальный элемент надо подключить шесть библиотек и написать гору кода, в то время как в жс это решается в одну строку хотя, я конечно не сравниваю с++ с жс, понятно что это совршенно разные миры, но все таки, почему бы не сделать такой примитив удобнее для программистов? Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
Tinplz #726 3 октября 2013 (изменено) Жесть какая-то чтобы найти минимальный элемент надо подключить шесть библиотек и написать гору кода, в то время как в жс это решается в одну строку хотя, я конечно не сравниваю с++ с жс, понятно что это совршенно разные миры, но все таки, почему бы не сделать такой примитив удобнее для программистов?Не путай библиотеки с хедерами. Это все одна стандартная библиотека. Что бы найти минимальный элемент, нужно всего-лишь вызвать функцию min_element, которая вернет итератор(фактически указатель) на него. Изменено 3 октября 2013 пользователем Tinplz Поделиться сообщением Ссылка на сообщение
Двапой #727 3 октября 2013 Ну разница то не велика для наблюдателя. Их все равно надо подлючать. Со стримами то все понятно, но вот#include <algorithm>#include <numeric> почему бы их, к примеру, не включать сразуили тут настолько охуительная модульность, что чтобы складывать числа надо подключать хэдеры? Ну я утрирую конечно. Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
Tinplz #728 3 октября 2013 (изменено) Ну разница то не велика для наблюдателя. Их все равно надо подлючать. Со стримами то все понятно, но вот#include <algorithm>#include <numeric> почему бы их, к примеру, не включать сразуили тут настолько охуительная модульность, что чтобы складывать числа надо подключать хэдеры? Ну я утрирую конечно.algorithm именно для min_element;numeric можно убрать, он просто так остался, с прошлых исходников. в алгоритме куча других функций. Изменено 3 октября 2013 пользователем Tinplz Поделиться сообщением Ссылка на сообщение
Kant #729 3 октября 2013 потому что все разделено на хедеры. У тебя нет ничего, пока ты не подключишь хотя бы один хедер.Можешь чиселки поплюсовать, но даже в консоль вывести ничего не сможешь. А если включить все сразу, это раздует получившийся бинарник if (numbers_count == 0xcccccccc){ :pray: :pray: :pray: Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
Tinplz #730 3 октября 2013 if (numbers_count == 0xcccccccc){ :pray: :pray: :pray:Ну это в большинстве нынешних компиляторов - непроинициализированный ансигнд, чем, собственно, и является size_t. Можно, конечно, было ближе к началу выставить флаги ошибок, и просто ловить, но писалось то это все на автомате. Поделиться сообщением Ссылка на сообщение
gr1nder #731 3 октября 2013 (изменено) Парни, нид хелп.Сишку на первом курсе проходил, и очень мало. А тут такую задачку поставили знакомому. В общем первая задача, с которой я в принципе справился, такова: Написать игру. Программа задумывает число 0 – 100. Пользователю необходимо угадать число вводя предполагаемые варианты. После каждой попытки программа выводит одно из сообщений: “число больше введённого” “число меньше введённого” “число угадано с N попытки” Максимальное число попыток – 10. Если число не было угадано с 10 попыток, программа выводит сообщение: “Вы проиграли! Правильный ответ N” А вот вторая, вообще хз, как её решать. Вроде бы сначала всё просто, но вот функциональное условие сразу даёт знать, что не всё так просто: То же что 2-е задание, только с другой стороны. Сейчас пользователь задумывает число, а программа пытается угадать. Пользователь НЕ вводит задуманное число в программу!!! Функциональное требование:Программа должна угадать число с 10 попыток! Хелпаните пожалуйста. Ну или хотя бы на мысль натолкните. Уже догадался, бинарным перебором можно. Изменено 3 октября 2013 пользователем gr1nder The Republic of Belarus 16.10.2013 Поделиться сообщением Ссылка на сообщение
Двапой #732 3 октября 2013 Вообще, там есть алгоритм, типа возможное множество делят на два равных, и если ондо не входит, то делят другое, и так думаю можно уложиться в 10 Но я ебал в рот алгоритмы, поэтому накатал свое решение, которое угадывает 90% всего. var SECRET_NUMBER = random(0, 100); var myNumbers = [], biggerThan = 0, littleThan = 100; for(var i = 0; i < 10; i++) { var tryNumber = getTryNumber(); if(tryNumber === SECRET_NUMBER) { console.log('WINNER! Right answer is ' + SECRET_NUMBER); console.log('You made in in ' + (i + 1) + ' tries'); break; } else if(SECRET_NUMBER > tryNumber) { biggerThan = tryNumber; } else { littleThan = tryNumber; } if(i === 9) console.error('Looser! Secret number is ' + SECRET_NUMBER); } function getTryNumber () { while(1) { var result = random(biggerThan, littleThan); if(myNumbers.indexOf(result) === -1) { myNumbers.push(result); return result; } } } function random (from, to) { return from + ~~(Math.random() * (to - from + 1)); } компьютер сам загадывает и сам пытается угадать Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
DIMAN123456789 #733 3 октября 2013 Вообще, там есть алгоритм, типа возможное множество делят на два равных, и если ондо не входит, то делят другое, и так думаю можно уложиться в 10 Но я ебал в рот алгоритмы, поэтому накатал свое решение, которое угадывает 90% всего. var SECRET_NUMBER = random(0, 100); var myNumbers = [], biggerThan = 0, littleThan = 100; for(var i = 0; i < 10; i++) { var tryNumber = getTryNumber(); if(tryNumber === SECRET_NUMBER) { console.log('WINNER! Right answer is ' + SECRET_NUMBER); console.log('You made in in ' + (i + 1) + ' tries'); break; } else if(SECRET_NUMBER > tryNumber) { biggerThan = tryNumber; } else { littleThan = tryNumber; } if(i === 9) console.error('Looser! Secret number is ' + SECRET_NUMBER); } function getTryNumber () { while(1) { var result = random(biggerThan, littleThan); if(myNumbers.indexOf(result) === -1) { myNumbers.push(result); return result; } } } function random (from, to) { return from + ~~(Math.random() * (to - from + 1)); } компьютер сам загадывает и сам пытается угадатьНазывается бинарный поиск. По идее с 10 попыток можно угадать любое число от 0 до 1023 Поделиться сообщением Ссылка на сообщение
KotZhilkina #734 4 октября 2013 Math.min.apply(Math, nums.slice(1));лучше сранивать сразу после ввода введенное число и предыдущее Публикация отключена Поделиться сообщением Ссылка на сообщение
Двапой #735 4 октября 2013 Math.min.apply(Math, nums.slice(1));лучше сранивать сразу после ввода введенное число и предыдущеетам же файл парсят, так что не сработаетмое решение вообще работает для массива строк файла Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
rubish #736 4 октября 2013 Math.min.apply(Math, nums.slice(1));лучше сранивать сразу после ввода введенное число и предыдущеетам же файл парсят, так что не сработаетмое решение вообще работает для массива строк файлалол. ты реально зря универ забросил. за твое решение ебало бить надо Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
Двапой #737 4 октября 2013 а что с ним не так? хотя это конечно не решение, ибо тут даже нет чтения файла Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
rubish #738 4 октября 2013 а что с ним не так? хотя это конечно не решение, ибо тут даже нет чтения файлаты сортируешь массив чтобы найти минимальный элемент. сортировка - очень дорогая по времени операция.минимальный элемент находится за один проход массива Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение
Двапой #739 4 октября 2013 Лол. По моему ты загоняешься. Во-первых, если бы целью была производительность (в случае с гигантскими данными) то я бы конечно сделал по другому.Во-вторых, если бы целью была производительность, то писать это на жс глупо.В третьих, какой смысл тогда в библиотечной функции, которая находит минимальный переданный параметр, если ее не использовать? По сути работает Math.min(1, 2, 3,4) а я просто вызываю эту функцию и передаю ей параметры массивом. Я сэкономил время. Уменьшил код. Увеличил читаемость. Потерял капельку времени. Я думаю оно того стоит и я все правильно сделал, а ты просто либо глуппый, что вряд ли, либо толстый, что вероятно. Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
rubish #740 4 октября 2013 ты мне сейчас напомнил неграмотное было, которое на замечание по поводу правописания отвечает, что оно не на экзамене по русскому. Колы я выросту - то хочу буты такым як я годные смайлы Поделиться сообщением Ссылка на сообщение