[C] Matematyczne ujęcie zmiennej
-
- Użytkownik
- Posty: 420
- Rejestracja: 6 lis 2010, o 20:10
- Płeć: Mężczyzna
- Lokalizacja: Clausthal-Zellerfeld
- Podziękował: 65 razy
- Pomógł: 25 razy
[C] Matematyczne ujęcie zmiennej
Witam.
Na wstępie pragnę zaznaczyć, że jestem laikiem.
Chciałbym aby program mnożył przez podany skalar wejścia liczbę \(\displaystyle{ x - a}\) (gdzie liczba \(\displaystyle{ a}\) także podawana jest na wejściu), tak żeby w odpowiedzi na wyjściu nie trzeba było zapisywać \(\displaystyle{ x}\) jako tekstu, o ile istnieje taka możliwość. Będzie mi to także potrzebne np. przy przepisaniu na kod algorytmu szukania płaszczyzny zadanej przez trzy punkty.
Bardzo prosiłbym o jakiś konkretny przykład.
Pozdrawiam
Na wstępie pragnę zaznaczyć, że jestem laikiem.
Chciałbym aby program mnożył przez podany skalar wejścia liczbę \(\displaystyle{ x - a}\) (gdzie liczba \(\displaystyle{ a}\) także podawana jest na wejściu), tak żeby w odpowiedzi na wyjściu nie trzeba było zapisywać \(\displaystyle{ x}\) jako tekstu, o ile istnieje taka możliwość. Będzie mi to także potrzebne np. przy przepisaniu na kod algorytmu szukania płaszczyzny zadanej przez trzy punkty.
Bardzo prosiłbym o jakiś konkretny przykład.
Pozdrawiam
-
- Użytkownik
- Posty: 420
- Rejestracja: 6 lis 2010, o 20:10
- Płeć: Mężczyzna
- Lokalizacja: Clausthal-Zellerfeld
- Podziękował: 65 razy
- Pomógł: 25 razy
[C] Matematyczne ujęcie zmiennej
Wiem, że jestem debilem programistycznym no ale...
Chodzi mi o to, żeby np. dla danych \(\displaystyle{ 7, 8}\) (zmienne s, a) dawało \(\displaystyle{ 7x - 56}\) i żeby nie trzeba było tego robić tak:
Tu jest błąd, nie wiem jak elegancko (czyli nie jako tekst) zapisać, a potem \(\displaystyle{ s(x - a)}\) oraz co zrobić ze zmienną \(\displaystyle{ x}\), żeby wyświetlała się w wyniku jako \(\displaystyle{ x}\) i nie trzeba było tego robić tekstowo.
Chodzi mi o to, żeby np. dla danych \(\displaystyle{ 7, 8}\) (zmienne s, a) dawało \(\displaystyle{ 7x - 56}\) i żeby nie trzeba było tego robić tak:
Kod: Zaznacz cały
#include<stdio.h> //printf, scanf
#include<conio.h> //getch
#include<math.h> //sqrt
int main ()
{ int x;
int a, s;
scanf("%d%d", a, s);
printf("%d*(x - %d)", s, a);
getch();
return 0;
}
-
- Użytkownik
- Posty: 1358
- Rejestracja: 4 lip 2009, o 13:27
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 3 razy
- Pomógł: 222 razy
[C] Matematyczne ujęcie zmiennej
Kod: Zaznacz cały
printf("%d*(x-%d)=%d*x-%d",s,a,s,s*a);
-
- Użytkownik
- Posty: 420
- Rejestracja: 6 lis 2010, o 20:10
- Płeć: Mężczyzna
- Lokalizacja: Clausthal-Zellerfeld
- Podziękował: 65 razy
- Pomógł: 25 razy
[C] Matematyczne ujęcie zmiennej
Nie, chodzi mi o to, żeby wypisało gotowe wyliczone \(\displaystyle{ s(x - a)}\), np. dla \(\displaystyle{ s = 0, a = 5}\) ma być \(\displaystyle{ 0}\), dla \(\displaystyle{ s = 3, a = 3}\) ma dać \(\displaystyle{ 3x - 9}\), gdzie \(\displaystyle{ x}\) jest jakąś zmienną (nieokreśloną, nieprzyjmującą żadnej konkretnej wartości). Chodzi mi też o to, żeby w podanych przykładach wyrażenia \(\displaystyle{ 0}\) oraz \(\displaystyle{ 3x - 9}\) nie były tekstem, żebym dalej mógł je wykorzystywać.-- 10 mar 2012, o 15:08 --Tzn. niby ok, ale na tym co jest po znaku równości chcę potem pracować jako na liczbie (również dla przypadku np. \(\displaystyle{ s = 0}\)).
-
- Użytkownik
- Posty: 1272
- Rejestracja: 8 sty 2011, o 18:18
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 295 razy
- Pomógł: 115 razy
[C] Matematyczne ujęcie zmiennej
z tego co rozumiem to nie ma takiej możliwości bezpośrednio.. jeśli chcesz to sobie zapewnić to powinieneś do tego podejść obiektowo.. napisać klasę (widzę, że ma być C - to trochę gorzej, ale może i być struktura) przechowującą takie wyrażenie z jakimiś metodami jego 'obsługi' - np wyliczenia wartości dla danego \(\displaystyle{ x}\).. w praktyce to wygląda tak, że struktura ma conajmniej trzy pola: \(\displaystyle{ s,x,a}\) oraz metody ustawiające wartości dla tych pól, wyliczające wartość wyrażenia dla danego \(\displaystyle{ x}\) oraz ewentualnie robiące jakieś inne operacje arytmetyczne na tejże strukturze.. na koniec metoda wypisująca uporządkowane wyrażenie w postaci tekstu.. tak ja to widzę..
-
- Użytkownik
- Posty: 420
- Rejestracja: 6 lis 2010, o 20:10
- Płeć: Mężczyzna
- Lokalizacja: Clausthal-Zellerfeld
- Podziękował: 65 razy
- Pomógł: 25 razy
[C] Matematyczne ujęcie zmiennej
Pola tzn.? Czy w ogóle możliwe jest uzyskanie wyniku \(\displaystyle{ s(x - a)}\) w postaci zmiennej np. int, tak żeby na niej operować? Mógłbym prosić o jakiś link / odnośnik, bo nie wiem jak się za to zabrać - moja wiedza jest za mała :padambak pisze:z tego co rozumiem to nie ma takiej możliwości bezpośrednio.. jeśli chcesz to sobie zapewnić to powinieneś do tego podejść obiektowo.. napisać klasę (widzę, że ma być C - to trochę gorzej, ale może i być struktura) przechowującą takie wyrażenie z jakimiś metodami jego 'obsługi' - np wyliczenia wartości dla danego \(\displaystyle{ x}\).. w praktyce to wygląda tak, że struktura ma conajmniej trzy pola: \(\displaystyle{ s,x,a}\)
Pozdrawiam.
-
- Użytkownik
- Posty: 1272
- Rejestracja: 8 sty 2011, o 18:18
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 295 razy
- Pomógł: 115 razy
[C] Matematyczne ujęcie zmiennej
tzn. elementy struktury..gblablabla pisze:Pola tzn.?
nie jest możliwe, musisz sam to zaprogramować..gblablabla pisze:Czy w ogóle możliwe jest uzyskanie wyniku \(\displaystyle{ s(x - a)}\) w postaci zmiennej np. int, tak żeby na niej operować?
taki drobny przykładzik, zobaczymy czy będziesz chciał w to iść:
Kod: Zaznacz cały
#include <stdio.h>
struct Wyrazenie
{
int s,x,a;
};
int oblicz_wartosc_wyrazenia(struct Wyrazenie wyr, int x)
{
return wyr.s*(x-wyr.a);
}
void wypisz_wyrazenie(struct Wyrazenie wyr)
{
printf("%d*(x-%d)", wyr.s, wyr.a);
}
int main()
{
int x;
struct Wyrazenie wyr;
wyr.s=5; wyr.a=2;
printf("Podaj x: ");
scanf("%d", &x);
wypisz_wyrazenie(wyr);
printf(" = %d", oblicz_wartosc_wyrazenia(wyr, x));
return 0;
}