Сдаю экзамен по информатике, нужна помощь

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by masterlights, 10 Jan 2012.

  1. masterlights

    masterlights New Member

    Joined:
    20 Oct 2011
    Messages:
    41
    Likes Received:
    0
    Reputations:
    0
    задача по C++:
    //написать функцию удаляющая предпоследнее сово в символьной строке

    большая просьба помочь, остался час(
    просьба не использовать сложные функции
     
  2. cerber3000

    cerber3000 Member

    Joined:
    8 Nov 2008
    Messages:
    75
    Likes Received:
    31
    Reputations:
    2
    #include <iostream>
    #include <sstream>
    #include <vector>

    using namespace std;

    void main()
    {
    vector<string> cntStr;
    string soStr = "слово1 слово2 слово3 слово4";

    istringstream istrstr(soStr);
    while (! istrstr.eof())
    {
    istrstr >> soStr;
    cntStr.push_back(soStr);
    }

    vector<string>::iterator it;
    it = cntStr.end();
    it -= 2;
    cntStr.erase(it);

    for (size_t n = 0; n < cntStr.size(); n++)
    cout << cntStr[n] << endl;
    }

    ps: успешно сдать экзамен!!! :)
     
    #2 cerber3000, 10 Jan 2012
    Last edited: 10 Jan 2012
  3. cheater_man

    cheater_man Member

    Joined:
    13 Nov 2009
    Messages:
    651
    Likes Received:
    44
    Reputations:
    7
    Code:
    #include <stdio.h>
    #include <conio.h>
    
    int main(int argc, char* argv[])
    {
    	char str[256]
    	int i,z;
    	gets(str);
    	for(int i=0; str[i]!=NULL; i++)
    	{
    		if(str[i]==' ' && str[i+1]!=' ')
    			z=i;
    	}
        for(int i=0; i!=z; i++)
    		printf("%c",str[i]);
    	getch();
    	return 0;
    }
    
    как-то так=) в отдельную функцию совать не стал.
    принцип работы:
    находит пробел и если следующий символ не пробел, то запоминаем индекс, и так читаем до конца, потом тупо выводим строку до последнего запомненного индекса=)
    тупо конечно, но понятно=) если бы мой препод увидел это, то он меня бы просто повесил=)