- 1
std::AIDS
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
std::AIDS
+77
#include <iostream>
using namespace std;
int binsearch(int* arr, int s, int r, int l, int t){
int m=(l+r)/2;
if (*(arr+m) == s) return m; // t - искомое
if (m == l || m == r) return 0;
if (*(arr+m) < s) binsearch(arr, s, m, r, t);
else binsearch(arr, s, l, m, t);
}
int main()
{
int n, k;
cin >> k;
cin >> n;
int A[n-1];
for (int i = 0; i < n; i++){
cin >> A[i];
}
cout << binsearch(A, k, n-1, 0, 0);
}
Требуется найти число K в упорядоченном массиве из N элементов и
определить чему равен номер соответствующего элемента массива.
Если элемент не найден, то вывести 0.
Входные данные
В первой строке расположено искомое число К.
Во второй - количество элементов в массиве N <= 10000.
Далее расположены N целых чисел, упорядоченных по возрастанию.
Выходные данные
Выведите наименьший номер найденного значения, или 0, если элемент не найден.
Проблема у меня в том, что не получается найти минимальный из подходящих ( Помогите пофиксить!
+12
#include <string>
#include <sstream>
#include <iostream>
int main() {
std::string str;
std::stringstream s("");
std::getline(s, str, '|');
std::cout << "good=" << s.good() <<
" bad=" << s.bad() <<
" fail=" << s.fail() <<
" eof=" << s.eof() << std::endl;
return 0;
}
good=0 bad=0 fail=1 eof=1
http://ideone.com/0Ceg8z
У меня один вопрос: нахуй так жить?
+1
void gte::loadProps(const char* fileName){
propMap.clear();
s3eFile* g_FileHandle = s3eFileOpen(fileName, "rb");
while (!s3eFileEOF(g_FileHandle)) {
char c1=0;
char c2=0;
s3eFileRead(&c1, 1, 1, g_FileHandle);
s3eFileRead(&c2, 1, 1, g_FileHandle);
int len = 0;
len = (c2 & 0xFF) | ( (c1 & 0xff) << 8);
if (len==0) continue;
char* textData = new char[len+1];
textData[len] = 0;
s3eFileRead(textData, sizeof(char), len, g_FileHandle);
char* pos = strchr(textData, ':');
string key(textData, pos - textData);
string value(pos + 2, textData + len - pos - 2);//(textData,
propMap[key] = value;
}
s3eFileClose(g_FileHandle);
}
Чтение строки, первые 2 байта - длинна.
Проект использует Marmalade SDK.
+81
#include <iostream>
#include <cstdlib>
using namespace std;
int bin_search(int *A, int key, int low, int high){
if (low > high){
return 0;
}
int mid = ( low + high ) / 2;
if (A[mid] == key)
return mid+1;
else if( A[mid] < key)
bin_search(A, key, mid + 1, high);
else if (A[mid] > key)
bin_search(A, key, low, mid - 1);
}
int main()
{
int n, k;
cin >> k >> n;
int A[n-1];
for (int i = 0; i < n; i++)
{
cin >> A[i];
}
cout << bin_search(A, k, 0, n);
}
Нужно реализовать бинпоиск рекурсией, на вход значение искомого элемента,
число элементов и сам массив,
вывести номер минимального элемента равного искомому.
У меня откровенно говоря баг, не могу его откопать, помогите!!!
+2
#if defined(_WIN32) || defined(_WIN64)
size_t size = message.size();
size_t size_buf = 1015;
size_t pointer = 0;
for (int i = 0; i < (size/size_buf) + 1 ; i++){
/*Делаем для красивого вывода. Пробел всегда один байт.
*Потому сматываем указатель буфера до первого пробела.*/
int buf = size_buf;
while (message[pointer+buf] != ' ')
buf--;
/*Здесь лечится косяк MinGw, буфер принимает по 1к байтов.
*Лечение производим создавая дополнительные буферы.*/
istringstream ss(message.substr(pointer,buf) );
std::cout << ss.rdbuf();
pointer += buf;
}
#else
std::cout << message;
#endif
Похоже плохая сборка MinGw.
http://govnokod.ru/13094
+21
for (size_t index = 0; index != size; ++size) {
...
}
Устраняю последствия ночного кодинга
+8
if (dequeueBuffer_) {
delete dequeueBuffer_;
dequeueBuffer_ = NULL;
}
if (enqueueBuffer_) {
delete enqueueBuffer_;
enqueueBuffer_ = NULL;
}
if (readBuff_) {
delete[] readBuff_;
readBuff_ = NULL;
}
if (currentEvent_) {
delete currentEvent_;
currentEvent_ = NULL;
}
Apache Thrift 0.9.1, made in Facebook
Код в деструкторе:
+3
CBinarySemaphore _there_is_only_one;//Highlander.
−11
Point ReadPoint ()
{
Fixed x = ReadFixed();
Fixed y = ReadFixed();
return Point(x,y);
}
Как же меня бесит отсутствие чётко определённого стандартом порядка вычисления аргументов!!!!!!!