• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed f(x)=ax+b SPOJ c++

HackNation - ogólnopolski hackathon
0 głosów
983 wizyt
pytanie zadane 7 czerwca 2020 w SPOJ przez Stefan Marzec Użytkownik (710 p.)
zamknięte 8 czerwca 2020 przez Stefan Marzec

Cześć. Jest dosyć nowe zadanie na spoju mianowicie f(x)=ax+b. https://pl.spoj.com/problems/DDZ1/

Dlaczego wyświetla błędną odpowiedź? 

#include <iostream>
using namespace std;

int main(){
	int a, b;
	while(cin>>a>>b){
		if(a==0){
			cout<<"f(x)="<<b<<endl;
		}
		else if(b>0){
			cout<<"f(x)="<<a<<"x+"<<b<<endl;
		}
		else{
			cout<<"f(x)="<<a<<"x"<<b<<endl;
		}
	}
	return 0;
}

 

komentarz zamknięcia: Rozwiązane
komentarz 7 czerwca 2020 przez tkz Nałogowiec (42,040 p.)
A gdzie a!=0, a b=0?
komentarz 8 czerwca 2020 przez Stefan Marzec Użytkownik (710 p.)

Faktycznie, zapomniałem. Ale dalej nie działa.

#include <iostream>
using namespace std;


int main(){
	int a, b;
	while(cin>>a>>b){
		if(a==0){
			cout<<"f(x)="<<b<<endl;
		}
		else if(a!=0&&b>0){
			cout<<"f(x)="<<a<<"x+"<<b<<endl;
		}
		else if(a!=0&&b==0){
			cout<<"f(x)="<<a<<"x"<<endl;
		}
		else{
			cout<<"f(x)="<<a<<"x"<<b<<endl; 
		}
	}
	return 0;
}

 

komentarz 8 czerwca 2020 przez tkz Nałogowiec (42,040 p.)

Dla a = 1 b = 1 zapisz f(x)=x+1

Porównaj jaki wynika da Twój program. 

komentarz 8 czerwca 2020 przez Stefan Marzec Użytkownik (710 p.)

Dalej to samo. 

#include <iostream>
using namespace std;


int main(){
	int a, b;
	while(cin>>a>>b){
		if(a==0){
			cout<<"f(x)="<<b<<endl; 
		}
		else if(a!=0 && a!=1 && b==0){
			cout<<"f(x)="<<a<<"x"<<endl; 
		}
		else if(a!=0 && a!=1 && b>0){
			cout<<"f(x)="<<a<<"x+"<<b<<endl; 
		}
		else if(a!=0 && a!=1 && b<0){
			cout<<"f(x)="<<a<<"x"<<b<<endl; 
		}
		else if(a==1 && b==0){
			cout<<"f(x)="<<"x"<<endl; 
		}
		else if(a==1 && b>0){
			cout<<"f(x)="<<"x+"<<b<<endl; 
		}
		else if(a==1 && b<0){
			cout<<"f(x)="<<"x"<<b<<endl; 
		}
	}
	return 0;
}

 

komentarz 8 czerwca 2020 przez tkz Nałogowiec (42,040 p.)
A dla a=(-1)? Pisz testy...
komentarz 8 czerwca 2020 przez Stefan Marzec Użytkownik (710 p.)

Okej, zaakceptowało. Pisałem testy tylko nie wpadłem na wszystkie przypadki :D dzięki. Wrzucę kod dla szukających pomocy.

#include <iostream>
using namespace std;


int main(){
	int a, b;
	cin>>a>>b;
		if(a==0){
			cout<<"f(x)="<<b<<endl; 
		}
		else if(a!=0 && a!=1 && a!=-1&& b==0){
			cout<<"f(x)="<<a<<"x"<<endl; 
		}
		else if(a!=0 && a!=1 && a!=-1 && b>0){
			cout<<"f(x)="<<a<<"x+"<<b<<endl; 
		}
		else if(a!=0 && a!=1 && a!=-1 && b<0){
			cout<<"f(x)="<<a<<"x"<<b<<endl; 
		}
		else if(a==1 && b==0){
			cout<<"f(x)="<<"x"<<endl; 
		}
		else if(a==1 && b>0){
			cout<<"f(x)="<<"x+"<<b<<endl; 
		}
		else if(a==1 && b<0){
			cout<<"f(x)="<<"x"<<b<<endl; 
		}
		else if(a==-1 && b==0){
			cout<<"f(x)="<<"-x"<<endl; 
		}
		else if(a==-1 && b>0){
			cout<<"f(x)="<<"-x+"<<b<<endl; 
		}
		else if(a==-1 && b<0){
			cout<<"f(x)="<<"-x"<<b<<endl; 
		}
	
	return 0;
}

 

komentarz 8 czerwca 2020 przez tkz Nałogowiec (42,040 p.)
Lepiej wrzuć w odpowiedzi i zamknij temat.

1 odpowiedź

0 głosów
odpowiedź 8 czerwca 2020 przez Stefan Marzec Użytkownik (710 p.)
#include <iostream>
using namespace std;
 
 
int main(){
    int a, b;
    cin>>a>>b;
        if(a==0){
            cout<<"f(x)="<<b<<endl; 
        }
        else if(a!=0 && a!=1 && a!=-1&& b==0){
            cout<<"f(x)="<<a<<"x"<<endl; 
        }
        else if(a!=0 && a!=1 && a!=-1 && b>0){
            cout<<"f(x)="<<a<<"x+"<<b<<endl; 
        }
        else if(a!=0 && a!=1 && a!=-1 && b<0){
            cout<<"f(x)="<<a<<"x"<<b<<endl; 
        }
        else if(a==1 && b==0){
            cout<<"f(x)="<<"x"<<endl; 
        }
        else if(a==1 && b>0){
            cout<<"f(x)="<<"x+"<<b<<endl; 
        }
        else if(a==1 && b<0){
            cout<<"f(x)="<<"x"<<b<<endl; 
        }
        else if(a==-1 && b==0){
            cout<<"f(x)="<<"-x"<<endl; 
        }
        else if(a==-1 && b>0){
            cout<<"f(x)="<<"-x+"<<b<<endl; 
        }
        else if(a==-1 && b<0){
            cout<<"f(x)="<<"-x"<<b<<endl; 
        }
     
    return 0;
}

 

Podobne pytania

0 głosów
2 odpowiedzi 430 wizyt
pytanie zadane 6 grudnia 2018 w Matematyka, fizyka, logika przez adam11 Użytkownik (570 p.)
0 głosów
1 odpowiedź 526 wizyt
pytanie zadane 7 lipca 2020 w Matematyka, fizyka, logika przez Kacperek_code Obywatel (1,690 p.)
0 głosów
1 odpowiedź 3,510 wizyt

93,626 zapytań

142,551 odpowiedzi

323,047 komentarzy

63,130 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 1452p. - dia-Chann
  2. 1437p. - DziarnowskiJ
  3. 1411p. - Łukasz Piwowar
  4. 1409p. - CC PL
  5. 1388p. - Maurycy W
  6. 1371p. - raydeal
  7. 1369p. - Adrian Wieprzkowicz
  8. 1360p. - Tomasz Bielak
  9. 1335p. - robwarsz
  10. 1296p. - Michal Drewniak
  11. 1269p. - Rafał Trójniak
  12. 1141p. - ssynowiec
  13. 1116p. - rucin93
  14. 1102p. - Dominik Łempicki (kapitan)
  15. 1100p. - Mariusz Fornal
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...