[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Однозначно и без вариантов.
     
  2. maked0n

    maked0n New Member

    Joined:
    14 Sep 2010
    Messages:
    144
    Likes Received:
    3
    Reputations:
    0
    +1. Полностью согласен.
     
  3. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Как в C++ из строки выцепить определённую последовательность букв, заключённую между элементами?Пример:
    Code:
    <srgfusfidgusdigusgfu>До СЛОВА: СЛОВО <После слова>кекывдшерыкжшержыкгшщер
    
    Как из этой строки получить "CЛОВО". Я только понимаю как это сделать в PHP. :confused:
     
  4. Linkus

    Linkus Member

    Joined:
    20 Dec 2008
    Messages:
    168
    Likes Received:
    15
    Reputations:
    -1
    регулярные выражения жэ
     
  5. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    PHP:
    string     s "<srgfusfidgusdigusgfu>До СЛОВА: СЛОВО <После слова>кекывдшерыкжшержыкгшщер",
            
    s1 "До СЛОВА: ",
            
    s2 " <После слова>";
            
    s.substr(    s.find(s1) + s1.length(), 
                    
    s.find(s2) - (s.find(s1) + s1.length()) );
    VCL
    PHP:
    String     s "<srgfusfidgusdigusgfu>До СЛОВА: СЛОВО <После слова>кекывдшерыкжшержыкгшщер",
            
    s1 "До СЛОВА: ",
            
    s2 " <После слова>";
    s.Delete(1s.Pos(s1) + s1.Length() - 1);
    s.SetLength(s.Pos(s2) - 1);        
     
    #6225 M_script, 20 Mar 2011
    Last edited: 20 Mar 2011
    1 person likes this.
  6. Rolan

    Rolan New Member

    Joined:
    3 Dec 2010
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Народ здорово.
    Слушайте, пишу прогу на с++ , но вот нежданчик словил,хочу что б по нажатию кнопы открывалась другая форма, но вот блин, компилятор пишет ошибку:
    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
     
  7. bad_boy

    bad_boy Elder - Старейшина

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    Rolan, думаю нужно так:
    Code:
    Form2 ^form2 = gcnew Form2(); 
     
  8. vovakozar

    vovakozar Banned

    Joined:
    31 Jan 2010
    Messages:
    20
    Likes Received:
    14
    Reputations:
    0
    КП нужна помощь!!

    помогите разобраться с курсовым проектом

    он написан на dev-c++ хто розберается взгланите..))

    код программы
    http://upwap.ru/1363622



    образец КП:
    http://upwap.ru/1363346

    возможно кто за деньги поможет пишите в теме или в аську:450645698
     
    #6228 vovakozar, 20 Mar 2011
    Last edited: 20 Mar 2011
  9. Rolan

    Rolan New Member

    Joined:
    3 Dec 2010
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    bad_boy , попробовал,всё теже ошибки.
     
  10. tim-oleksii

    tim-oleksii Member

    Joined:
    14 Mar 2011
    Messages:
    199
    Likes Received:
    10
    Reputations:
    0
    Код в студию.

    Догадки:
    1. Имя переменной не может начинаться с оператора. Смени ^form2 на frm, к примеру.
    2. Нельзя делать form2->Show(), так как form2 - имя класса, а не объекта.
     
  11. return

    return New Member

    Joined:
    23 Oct 2010
    Messages:
    125
    Likes Received:
    3
    Reputations:
    1
    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 ругается?
     
  12. rid3r~man

    rid3r~man Active Member

    Joined:
    10 Jan 2009
    Messages:
    224
    Likes Received:
    223
    Reputations:
    25
    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();
    }
    
     
  13. bad_boy

    bad_boy Elder - Старейшина

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    return, ты пытаешься функцией sprintf записать значение по никуда не указывающему адресу в buf, а потом его вернуть. Более того, buf указывает на строку с аттрибутом const(угадай, что нельзя делать с такими строками). Для записи в файл можно использовать char
     
  14. Radish

    Radish New Member

    Joined:
    9 Jan 2011
    Messages:
    20
    Likes Received:
    2
    Reputations:
    2
    rid3r~man, почитайте про область видимости переменных, имена переменных передаваемых функции не имеют значения, лишь бы тип совпадал.
    Собственно в "x" функции копируется значение "x0", при выполнении "fi1(x0);"
     
    #6234 Radish, 24 Mar 2011
    Last edited: 24 Mar 2011
  15. tim-oleksii

    tim-oleksii Member

    Joined:
    14 Mar 2011
    Messages:
    199
    Likes Received:
    10
    Reputations:
    0
    Не компилируется. Подскажите, пожалуйста, в чём может быть дело.

    PHP:
    mapstringmap<stringstring> >  &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> > > > > >'
     
    #6235 tim-oleksii, 25 Mar 2011
    Last edited: 25 Mar 2011
  16. MaTpOc

    MaTpOc Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    Помогите рeшить интересную задачу (как мне сказал преподаватель нa нее уходит в среднем 6 часов!)

    Зaдача заключается в следующем: нужно нaписать код, кoторый выводит слeдующую мaтрицу:

    122O
    31O4
    3O14
    O551

    секрет в индексах...
     
  17. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    Code:
    #include <iostream>
    
    int main(int argc, char* argv[])
    {
        std::cout << "122O";
        std::cout << "31O4";
        std::cout << "3O14";
        std::cout << "O551";
        return 0;
    }
    Сделал! :D
     
  18. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Неверно, std::endl забыл 3 раза)
     
    1 person likes this.
  19. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    а вообще странная задачка. требуется определить алгоритм, по которому сгенерирована эта матрица. На первый взгляд не видно никаких закономерностей, кроме того, что над 1 стоят четные, а под - нечетные(за исключением нулей). Может быть покумекаю на досуге.
     
  20. bad_boy

    bad_boy Elder - Старейшина

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    [теперь то]
    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";
    }
     
    #6240 bad_boy, 25 Mar 2011
    Last edited: 25 Mar 2011
    2 people like this.
Thread Status:
Not open for further replies.