Помогите решить пожалуйста задачу на C++

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Jokers sped, 9 Sep 2011.

  1. Jokers sped

    Jokers sped New Member

    Joined:
    5 Feb 2011
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Даны действительные числа х, у. Если х и у от¬рицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения увеличить на 0.5; если оба значения неотрицательны и ни одно из них не принадлежит отрезку [0.5, 2.0], то оба значения уменьшить в 10 раз; в остальных случаях х и у оставить без изменения.
     
  2. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Code:
    #include <iostream>
    #include <conio.h>
    
    using namespace std;
    
    void main(int argc, char * argv[])
    {
    	float x, y;
    
    	cout << "X: ";
    	cin >> x;
    
    	cout << "Y: ";
    	cin >> y;
    
    	if(x < 0 && y < 0)
    	{
    		x = abs(x);
    		y = abs(y);
    	} else if(x < 0 || y < 0)
    	{
    		x += 0.5;
    		y += 0.5;
    	}
    	else if( 
    			!(x >= 0.5 && x <= 2)
    				&&
    			!(y >= 0.5 && y <= 2)
    		)
    	{
    		x /= 10;
    		y /= 10;
    	}
    
    	cout << "Result:" << endl 
    		 << "X: " << x << endl
    		 << "Y: " << y << endl;
    	getch();
    }
    
     
    #2 mailbrush, 9 Sep 2011
    Last edited: 9 Sep 2011
  3. Jokers sped

    Jokers sped New Member

    Joined:
    5 Feb 2011
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Огромное спасибо, очень выручили. Вы писали в: Microsoft Visual Studio 2008?
     
  4. realcoder

    realcoder Member

    Joined:
    9 Dec 2010
    Messages:
    226
    Likes Received:
    11
    Reputations:
    4
    здесь любая среда подойдет, т.к. программа использует только стандартную stl библиотеку, которая есть практически во всех ide и пакетах для разработки на си\си+.
    так что смело можешь компилировать код хоть в msvc хоть на mingw или Intel c++
     
  5. Jokers sped

    Jokers sped New Member

    Joined:
    5 Feb 2011
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Спасибо, за помощь АНТИЧАТ, я просто не успеваю все и многое не выходит, учеба сложное дело.
     
  6. Jokers sped

    Jokers sped New Member

    Joined:
    5 Feb 2011
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    И вот еще, кто хочет вспомнить былые года и не сложно помочь
    Дано натуральное число n (n<=100)
    1) В предположении, что n=>10, найти предпоследнюю цифру числа n.

    Тупо не выходит, догнать не могу(
     
  7. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Ну, как-нибудь так, если я правильно понял:

    Code:
    #include <iostream>
    #include <sstream>
    int main()
    {
    	std::string s;
    	std::stringstream ss;
    	unsigned int num;
    	
    	std::cout<<"Number: ";
    	std::cin>>num;
    
    	ss<<num;
    	s = ss.str();
    
    	try
    	{
    		std::cout<<s.substr(s.size() - 2, 1);
    	}
    	catch(...)
    	{
    		std::cout<<"Offset out of range"<<std::endl;
    	}
    	std::cin.get();
    	return 0;
    }
    
     
    _________________________
  8. Jokers sped

    Jokers sped New Member

    Joined:
    5 Feb 2011
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Нет что-то не то.. не работает.
     
  9. GRRRL Power

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

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Держи (работает при n >= 10, если n < 10, то выведет 0):
    PHP:
    #include <iostream>

    int main()
    {
        
    unsigned long number;
        
    std::cout << "Number: ";
        
    std::cin >> number;
        
    number /= 10;
        
    std::cout << "Last but one digit: " << (number >= 10 number 10 number) << std::endl;
        return 
    0;
    }
     
    #9 GRRRL Power, 10 Sep 2011
    Last edited: 10 Sep 2011
  10. GRRRL Power

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

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Ты сам проверял вообще? Нерабочая хрень же.
     
  11. Spot

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

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1

    Проверял,все работает.
     
  12. GRRRL Power

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

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Мда... Твоя программа не предпоследнюю цифру выводит, а (число - 1) как бы.

    Пример как надо:
    Ввели 12345, предпоследняя цифра - 4.
    Ввели 72, предпоследняя цифра - 7.
     
  13. Spot

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

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    Аа,ясно.Неправильно понял условие задания.
    Ты прав.
    Единственное"Ввели 12345, предпоследняя цифра - 4." в условии стоит что n<=100 .
     
  14. GRRRL Power

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

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Это неважно, я просто привел пример, какая цифра в числе является предпоследней)
    Я в своем исходнике никаких ограничений не делал, универсально написано, единственное ограничение сверху это 0xFFFFFFFF.
     
  15. Jokers sped

    Jokers sped New Member

    Joined:
    5 Feb 2011
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    GRRRL Power, спасибо помог разобраться, вот смотри немного переделал, если не сложно напиши в асю: 46700262 он мне помогает, ну у него что то не выходит нужен совет, или мне в асю: 5078862

    #include <iostream>
    using namespace std;
    #include "windows.h"
    int main ()

    {
    setlocale(LC_CTYPE,"RUS");
    int x;
    cout<<"Ведите число"<<endl;
    cin>>x;

    if
    (x>100)
    cout<<"Неверно!";
    else if (x<10)
    cout<<"Неверно!";

    else cout<<x%10;
    }]
     
    #15 Jokers sped, 11 Sep 2011
    Last edited: 12 Sep 2011
  16. tim-oleksii

    tim-oleksii Member

    Joined:
    14 Mar 2011
    Messages:
    199
    Likes Received:
    10
    Reputations:
    0
    Выведет последнюю цифру.