Как в C++ из строки выцепить определённую последовательность букв, заключённую между элементами?Пример: Code: <srgfusfidgusdigusgfu>До СЛОВА: СЛОВО <После слова>кекывдшерыкжшержыкгшщер Как из этой строки получить "CЛОВО". Я только понимаю как это сделать в PHP.
PHP: string s = "<srgfusfidgusdigusgfu>До СЛОВА: СЛОВО <После слова>кекывдшерыкжшержыкгшщер", s1 = "До СЛОВА: ", s2 = " <После слова>"; s = s.substr( s.find(s1) + s1.length(), s.find(s2) - (s.find(s1) + s1.length()) ); VCL PHP: String s = "<srgfusfidgusdigusgfu>До СЛОВА: СЛОВО <После слова>кекывдшерыкжшержыкгшщер", s1 = "До СЛОВА: ", s2 = " <После слова>"; s.Delete(1, s.Pos(s1) + s1.Length() - 1); s.SetLength(s.Pos(s2) - 1);
Народ здорово. Слушайте, пишу прогу на с++ , но вот нежданчик словил,хочу что б по нажатию кнопы открывалась другая форма, но вот блин, компилятор пишет ошибку: Code: Ошибка 1 error C2065: form2: необъявленный идентификатор 89 1 Ошибка 2 error C2065: form2: необъявленный идентификатор 89 1 Ошибка 3 error C2061: синтаксическая ошибка: идентификатор "form2" 89 1 Ошибка 4 error C2065: form2: необъявленный идентификатор 90 1 Ошибка 5 error C2227: выражение слева от "->Show" должно указывать на тип класса, структуры или объединения либо на универсальный тип 90 1 Форму открываю так: Code: form2 ^form2 = gcnew form2(); form2->Show(); this->Hide(); Сама форма объявлена в главном cpp файле : Code: #include "Form2.h" Что делать?Пишу в MSVS 2010
КП нужна помощь!! помогите разобраться с курсовым проектом он написан на dev-c++ хто розберается взгланите..)) код программы http://upwap.ru/1363622 образец КП: http://upwap.ru/1363346 возможно кто за деньги поможет пишите в теме или в аську:450645698
Код в студию. Догадки: 1. Имя переменной не может начинаться с оператора. Смени ^form2 на frm, к примеру. 2. Нельзя делать form2->Show(), так как form2 - имя класса, а не объекта.
linux c вот такая вот задачка: Разработать программу, вычисляющую значение f(x) как сумму ряда от k=1 до k=N от выражения (-1)**(k+1)*x**(2k-1)/(2k-1) и выводящую полученный результат f(x) в файл в двоичном формате. В это время предварительно подготовленный процесс-потомок читает данные из файла, преобразовывает их в текстовую форму и выводит на экран до тех пор, пока процесс-предок не передаст ему через файл ключевое слово (например, "STOP"), свидетельствующее об окончании процессов. Набросал код: Code: #include <stdio.h> #include <string.h> #include <sys/types.h> #include <unistd.h> #include <math.h> #include <fcntl.h> #include <errno.h> #include <signal.h> #include <sys/wait.h> #include <sys/stat.h> #define _XOPEN_SOURCE 500 const char* f(int x) { int k, n=11; double sum=0; const char* buf; for(k=1;k<n;k++) { sum=sum+(pow((-1),(k+1))*pow(x,(2*k+1)))/(2*k-1); } sprintf(buf,"%f",sum); return buf; } int main() { pid_t pidn; pidn=getpid(); printf("id процесса: %d\n",pidn); int fd, i=0; const char *filename="forkfile.txt"; errno=0; fd=creat(filename, 0644); if(errno) { perror("open"); return 1; } ssize_t nr; const char* str=f(10); nr=write(fd,str,strlen(str)); if(errno) { perror("write"); return 1; } close(fd); pid_t pid; pid=fork(); if(!pid) { fd=fopen(filename,"r"); if(errno) { perror("open"); return 1; } pid_t pidp; pidp=getppid(); printf("Потомок этого процесса: %d",pidp); char *buf; ssize_t rf; rf=pread(fd,buf,100,0); if(rf==-1) { perror("pread"); return 1; } while(i<10) { printf("%s\n",buf); i=i+1; } close(fd); } int sig; kill(pid, sig); return 0; } Лог ошибок: Code: fork.c: In function ‘f’: fork.c:21: warning: passing argument 1 of ‘sprintf’ discards qualifiers from pointer target type /usr/include/stdio.h:341: note: expected ‘char * __restrict__’ but argument is of type ‘const char *’ fork.c: In function ‘main’: fork.c:52: warning: assignment makes integer from pointer without a cast /tmp/ccq2La7w.o: In function `f': fork.c:(.text+0x33): undefined reference to `pow' fork.c:(.text+0x55): undefined reference to `pow' collect2: ld returned 1 exit status Что то с функцией f не то. sprintf пытаюсь с double переделать в char но явно что то не получается. Третья ошибка на сколько я понял функция не может быть const char * ? просто он мне нужен для записи в файл. Ну и почему он на pow ругается?
GoreS В ф-ях были обьявлены перем. х и у, а использовались х0 и у0 Code: #include <stdio.h> #include <conio.h> #include <math.h> float fi1(float x) {return (2-cos(x))/2;} float fi2(float y) {return sin(y+1)-1.2;} int main() { FILE *stream; stream = fopen("C:\\rezlab3.txt", "w+"); float x0=-0.5, x1, y0=0.5, y1, eps=1e-6; int k=0; A: y1=fi1(x0); x1=fi2(y0); if(fabs(x0-x1)>eps && fabs(y0-y1)>eps) {x0=x1; y0=y1; k++; goto A;} fprintf(stream,"\n x1=%8.7f y1=%8.7f k=%d eps=%8.7f",x1,y1,k,eps); fclose(stream); getchar(); }
return, ты пытаешься функцией sprintf записать значение по никуда не указывающему адресу в buf, а потом его вернуть. Более того, buf указывает на строку с аттрибутом const(угадай, что нельзя делать с такими строками). Для записи в файл можно использовать char
rid3r~man, почитайте про область видимости переменных, имена переменных передаваемых функции не имеют значения, лишь бы тип совпадал. Собственно в "x" функции копируется значение "x0", при выполнении "fi1(x0);"
Не компилируется. Подскажите, пожалуйста, в чём может быть дело. PHP: map< string, map<string, string> > &getContent() const { return __content; } Лог ошибки. Code: [BCC32 Error] TIniParser.h(38): E2357 Reference initialized with 'const std::map<string,std::map<string,string,std::less<string>,std::allocator<std::pair<const string,string> > >,std::less<string>,std::allocator<std::pair<const string,std::map<string,string,std::less<string>,std::allocator<std::pair<const string,string> > > > > >', needs lvalue of type 'std::map<string,std::map<string,string,std::less<string>,std::allocator<std::pair<const string,string> > >,std::less<string>,std::allocator<std::pair<const string,std::map<string,string,std::less<string>,std::allocator<std::pair<const string,string> > > > > >'
Помогите рeшить интересную задачу (как мне сказал преподаватель нa нее уходит в среднем 6 часов!) Зaдача заключается в следующем: нужно нaписать код, кoторый выводит слeдующую мaтрицу: 122O 31O4 3O14 O551 секрет в индексах...
Code: #include <iostream> int main(int argc, char* argv[]) { std::cout << "122O"; std::cout << "31O4"; std::cout << "3O14"; std::cout << "O551"; return 0; } Сделал!
а вообще странная задачка. требуется определить алгоритм, по которому сгенерирована эта матрица. На первый взгляд не видно никаких закономерностей, кроме того, что над 1 стоят четные, а под - нечетные(за исключением нулей). Может быть покумекаю на досуге.
[теперь то] PHP: <?php for ($i = 0; $i < 4; $i++) { for ($j = 0; $j < 4; $j++) { if ($i == $j) echo 1; else { if(4-$i-1==$j) echo O; else { if(0<$i && $i<4) { if($j==0) echo 3; if($j==3) echo 4; } if(0<$j && $j<4) { if($i==0) echo 2; if($i==3) echo 5; } } } } print "\n"; }