запихиваешь строку в какой то char[]. а потом циклом.... ну примерно так: for(i=0;i<100;i++) if (char==" "&&char[i+1]=="A") << примерно так ты найдешь все слова которые начинаются на A.
Помогите разобраться Помогите пожалуйста вот с чем ... Как сделать поиск по ключевым словам в массиве или текстовом файле .. допустим есть фраза ( какая прекрасная погода ) и по слову погода выдает фразу и все вразы с этим словом ...
Ещё один вопрос .. а возможно ли как то сделать регистронезависимый поиск слов? Что бы А и а были одним и темже .. возможно ли такое? Просто не нашёл подобного ...
функции: { tolower //delaet iz "A" v "a" toupper //delaet iz "a" v "A" isupper //proverka na upper isalpha //proverka esli bukva islower //proverka na lowwer } тебе в помощь ) конечно же пример: ================================== PHP: #include <ctype.h> //<<обязательно ! int main () { int i=0; char stroka[]="Moi Text.\n"; char c; while (stroka[i]) { c=str[i]; putchar (tolower(c)); i++; } return 0; } ==================================== УДАЧИ !)
Каким образом в с++ можно корректно выводить число, помещенное в unsigned char, а то выводится символ: Code: unsigned char uc = 0xFF; cout << (int) uc;
Ну вроде все правильно Code: #include <iostream> using namespace std; int main(){ unsigned char uc = 0xFF; cout << (int)uc; cin.get(); cin.get(); return 0; } Выводит код символа 255, а по примеру: Code: unsigned char uc = 0xFF; cout << (unsigned char)uc; Выводит сам символ 255 тоесть пробел.. или я что то не понял..
зависит от воображения ) можно переместить к примеру слово в конец массива а потом уменьшить размер массива на X , Где X=длинна слова которую переместил ) щас некогда писать пример (
Приветствую всех, помогите пж.. как можно взять подстроку из типа string, посимвольно не подходит либо я что то не так делаю...с циклами не помогает...на string strstr ругается... Нужен из текст поиск всей фразы через подстроку и вывод ее .. PHP: #include <iostream> #include <fstream> #include <locale> using namespace std; int main(){ setlocale(LC_ALL,"Russian"); char *fname = new char[60]; char *cmp = new char[40]; char *info = new char[1000]; int *str = new int; *str = 0; cout << "Fname:>"; cin >> fname; cout << "Cmp:>"; cin >> cmp; ifstream in; in.open(fname); if(!in.is_open()){ cout << "Файл не возможно открыть!" << endl; } while(in.good()){ in >> *info; ++(*str); } cout << strstr(info,cmp); printf("\n Символов %d",*str); if(in.eof()){ cout << "Файл прочитан!" << endl; }else if(in.fail()){ cout << "Неверный тип данных!" << endl; } if(*info == 0){ cout << "Файл пуст!" << endl; } in.close(); cin.get(); cin.get(); return 0; }
Делаю ДЗ, застрял на одной проблеме. Если в главном меню сразу (после запуска) выбрать 7). Quit (выход), то меню выводится еще раз и только тогда, при повторном вводе 7, программа закрывается. При выборе альтернативного пункта (1-6) и последующего выбора 7 для выхода, программа закрывается без повторного вывода меню. Если изменить do while loop на while loop в: PHP: do { main_menu(); } while (main_menu() == true); то все происходит с точностью наоборот. PHP: #include <iostream> using namespace std; //Function Prototipes bool main_menu(); bool isprime(int p); void getprimes(int arrayA[]); void getfibos(int arrayA[]); void getprimes_fibos(int arrayA[]); void getprimes_notfibos(int arrayA[]); void getfibos_notprimes(int arrayA[]); int limiter; //Data int primes[1000]; int fibos[1000] = {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987}; int primes_fibos[500] = {2, 3, 5, 13, 89, 233}; int primes_notfibos[500] = {7, 11, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499}; int fibos_notprimes[500] = {0, 1, 1, 3, 8, 21, 34, 55, 144, 377, 610, 987}; int main () { int upper, lower; //Generating Primes cout <<"Enter the upper limit: "; cin >> limiter; int count = 0; for (int a = 2; a <= limiter; a++) { int c = 0; for (int b = 2; b <= a/2; b++) { if (a % b == 0) { c = 1; break; } } if (!c) primes[count++] = a; } do { main_menu(); } while (main_menu() == true); } //Main Menu bool main_menu() { int choice; cout <<"Choose one of the following by entering the corresponding number:\n"; cout <<"1). Display prime numbers\n"; cout <<"2). Display Fibonacci numbers\n"; cout <<"3). Display prime numbers that are also part of the Fibonacci series\n"; cout <<"4). Display prime numbers that are not part of the Fibonacci series\n"; cout <<"5). Display Fibonacci numbers that are not prime numbers\n"; cout <<"6). Search for a number\n"; cout <<"7). Quit\n"; cout <<"Enter selection: "; cin >> choice; if (choice < 1 || choice > 7) { do { cout <<endl; cout <<"Invalid Entry!\n"; cout <<"Choose one of the following by entering the corresponding number:\n"; cout <<"1). Display prime numbers\n"; cout <<"2). Display Fibonacci numbers\n"; cout <<"3). Display prime numbers that are also part of the Fibonacci series\n"; cout <<"4). Display prime numbers that are not part of the Fibonacci series\n"; cout <<"5). Display Fibonacci numbers that are not prime numbers\n"; cout <<"6). Search for a number\n"; cout <<"7). Quit\n"; cout <<"Enter selection: "; cin >> choice; } while (choice < 1 || choice > 7); } switch (choice) { case 1 : getprimes(primes); return true; break; case 2 : getfibos(fibos); return true; break; case 3 : getprimes_fibos(primes_fibos); return true; break; case 4 : getprimes_notfibos(primes_notfibos); return true; break; case 5 : getfibos_notprimes(fibos_notprimes); return true; break; case 6 : cout <<"Didn't finish this part.\n"; return true; break; case 7 : return false; break; } } bool isprime (int p) { for(int i = 2; i < p; ++i) if(p % i == 0) return false; return true; } void getprimes(int arrayA[]) { int lower, upper; cout <<"Enter upper and lower limit: "; cin >> lower; cin >> upper; bool keepGoing = true; int i = lower; while (keepGoing) { if (arrayA[i] <= upper) { cout <<arrayA[i] <<" "; i++; } else keepGoing = false; } cout <<endl; cout << i <<" numbers met the criteria.\n"; cout <<endl; } void getfibos(int arrayA[]) { int lower, upper; cout <<"Enter upper and lower limit: "; cin >> lower; cin >> upper; bool keepGoing = true; int i = 0; while (keepGoing) { if (arrayA[i] >= lower && arrayA[i] <= upper) { cout <<arrayA[i] <<" "; i++; } else keepGoing = false; } cout <<endl; cout << i <<" numbers met the criteria.\n"; cout <<endl; } void getprimes_fibos(int arrayA[]) { int lower, upper; cout <<"Enter upper and lower limit: "; cin >> lower; cin >> upper; bool keepGoing = true; int i = 0; while (keepGoing) { if (arrayA[i] >= lower && arrayA[i] <= upper) { cout <<arrayA[i] <<" "; i++; } else keepGoing = false; } cout <<endl; cout << i <<" numbers met the criteria.\n"; cout <<endl; } void getprimes_notfibos(int arrayA[]) { int lower, upper; cout <<"Enter upper and lower limit: "; cin >> lower; cin >> upper; bool keepGoing = true; int i = 0; while (keepGoing) { if (arrayA[i] >= lower && arrayA[i] <= upper) { cout <<arrayA[i] <<" "; i++; } else keepGoing = false; } cout <<endl; cout << i <<" numbers met the criteria.\n"; cout <<endl; } void getfibos_notprimes(int arrayA[]) { int lower, upper; cout <<"Enter upper and lower limit: "; cin >> lower; cin >> upper; bool keepGoing = true; int i = 0; while (keepGoing) { if (arrayA[i] >= lower && arrayA[i] <= upper) { cout <<arrayA[i] <<" "; i++; } else keepGoing = false; } cout <<endl; cout << i <<" numbers met the criteria.\n"; cout <<endl; }
Сразу бы так. Смотри: PHP: do { main_menu(); } while (main_menu() == true); Здесь ты вызываешь функцию с меню, а после опять её вызываешь и проверяешь значение. Еще раз. Первое возвращаемое значение ты пропускаешь, и вызываешь функцию для проверки значения 2-й раз. Это должно решить проблему: PHP: bool retcode; do { retcode = main_menu(); } while (retcode == true); Можно вообще так: PHP: while( main_menu() );
Народ..какие альтернативы есть setlocale(LC_ALL,"Russian"); ? В windows 7 нормально отображает, но эта же программа в XP в символах вместо русский букв.
Спасибо, но не помогло, компилятор code::blocks что dev C++ не дает нужного результата .. SetConsoleOutputCP(1251) ; тоже краказябры показывает, ещё раз скажу в w7 все нормально а в xp проблема..
Цель:Рисование круга радиусом X на указном месте в окне, к примеру, щелкаем 2 раза где то в окне и там рисуется круг. Вопрос:как это делается? (как рисовать круг я знаю... интересует перехват X Ycoord и вызов функций рисования...) и еще вопрос по сложнее в идеале эти круги должны быть интерактивными тоесть перемещать/удалять их в окне. (мышкой желательно) и вопрос для тех кто очень хорош в этом, надо сделать еще линий которые могли бы "прилипать" к кругам... ------------------------ могу показать пример программы, только ехе , без исходников для лучшего понимания задачи. ----------------------- сделать надо на Microsoft Visual Studio C++