Równanie liniowe z jedną niewiadomą

0

czesc
chce rozwiazac to zadanie:

Równanie liniowe jest postaci ax+b=c, gdzie a, b, c są liczbami
rzeczywistymi. Niewiadomą jest x, która również jest liczbą rzeczywistą.
Równanie to może mieć jedno rozwiązanie, brak rozwiązań lub
nieskończenie wiele rozwiązań.
Input

W pojedyńczej linii podane są trzy liczby rzeczywiste zaokrąglone do
drugiego miejsca po przecinku.
Output

Rozwiązaniem problemu jest liczba rzeczywista zaokrąglona do drugiego
miejsca po przecinku w przypadku, gdy równanie liniowe ax+b=c posiada
rozwiązanie. W przypadku braku rozwiązania powinien zostać wydrukowany
napis BR, a w przypadku nieskończenie wielu rozwiązań napis NWR
Example 1

Input:
0.52 1.60 -5.44

Output:
-13.54

Example 2

Input:
0.00 2.00 3.00

Output:
BR

Example 3

Input:
0.00 2.00 2.00

Output:
NWR

na razie to co napisalem to to:

#include<stdio.h>
#include<stdlib.h>

int main(void){

  double a,b,c,x;
  scanf("%lf %lf %lf",&a,&b,&c);

  c+=b;
  a/=a;
  c/=a;
  x=c;
  printf("%lf",x);

  return 0;
}

To co zrozumialem jak czytalem teraz w internecie to to ze najpierw trzeba dodac do liczby 'c' liczbe 'b' a potem dwie strony podzielic przez liczbe 'a' i tak zrobilem.
moglby ktos pomoc troszke z tym ?

2

Ty sobie robisz jaja? o_O Nie pokazali w podstawówce jak sie rozwiązuje równania?
ax+b=c
ax = c-b
x = (c-b)/a

Jeśli a jest różne od 0 to wynikiem jest (c-b)/a. Jeśli a jest 0 to mamy dwie opcje:

  • c-b jest 0 wtedy mamy nieskończenie wiele rozwiązań
  • c-b nie jest 0 i wtedy równanie nie ma rozwiązania
2

To co zrozumialem jak czytalem teraz w internecie to to ze najpierw trzeba dodac do liczby 'c' liczbe 'b'

Nie, od liczby c trzeba odjąć liczbę b.

a potem dwie strony podzielic przez liczbe 'a' i tak zrobilem.

Nie zrobiłeś. Najpierw podzieliłeś a przez a, nie wiedzieć dlaczego.

0

A kto by pamietal to czego uczyli go w podstawowce :P Okej dziekuje :)

ale co w takim wypadku nie gra w tym kodzie ?

#include<stdio.h>
#include<stdlib.h>

int main(void){

  float a,b,c,x;
  scanf("%f %f %f",&a,&b,&c);

  if(a==0 && c==0){
    printf("NWR");
    return 1;
  }
  else if(a==0 && c!=0){
    printf("BR");
    return 1;
  }
  c=c-b;
  c=c/a;
  x=c;
  printf("%f",x);

  return 0;
}
0

@Cjvq Pomyśl nad poprawą zdolności matematycznych, ponieważ aktualny poziom nie pomaga Ci w nauce programowania, wręcz będzie zawadzał.

0
int main()
{
	double a, b, c, x;
	cin >> a >> b >> c;
	if(a != 0)
	{
		x = (c-b)/a;
		cout << setprecision(2) << fixed << x << endl;
	}else if(b == c){
		cout << "NWR" << endl;
	}else{
		cout << "BR" << endl;
	}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1