Wpis z mikrobloga

No elo,

uczę się programowania w C po godzinach, jakieś kursy w necie, książki i piszę programy według zadań z jednej z książek z zadaniami, mój poziom to: bardzo początkujący. Do tego dokładam sobie elektronikę ale to już mniejsza z tym.

Napisałem ostatnio program, który wylicza układ równań liniowy z dwiema niewiadomymi, za pomocą metody wyznaczników.
Nic trudnego w sumie po chwili zastanowienia ale program działa w taki sposób że użytkownik musi podać wszystkie liczby, które stoją przy niewiadomych x i y itd.

Teraz pytanie, czy możliwe jest (na pewno jest) przerobienie tego w taki sposób żeby użytkownik wpisywał np. 2x-3y = 6 i program sam rozkładał to na części? Na ile to jest wyższy poziom od tego rozwiązania z podaniem dokładnych danych przez użytkownika.

Chciałbym to ogarnąć w taki sposób ale nie wiem czy może to nie jest za trudne w tym momencie i czy nie odpuścić i robić dalsze zadania na moim poziomie i stopniowo trudniejsze.

Nie chce rozwiązania ani nic, lubię sam dochodzić do rozwiązań potrzebuje tylko info np. w tym momencie to dla Ciebie za trudne, wymaga wykorzystania rzeczy których jeszcze nie umiesz nie rozumiesz, albo np, chwile pogłówkujesz i da się to ogarnąć tak jak byś chciał z wykorzystaniem dotychczasowej nikłej wiedzy ;-)

#programowanie
  • 9
Teraz pytanie, czy możliwe jest (na pewno jest) przerobienie tego w taki sposób żeby użytkownik wpisywał np. 2x-3y = 6 i program sam rozkładał to na części? Na ile to jest wyższy poziom od tego rozwiązania z podaniem dokładnych danych przez użytkownika.


@Aven: tak, jest możliwe.
@Aven: Jak chcesz to zrobić na retarda to myślę, że możesz parsować na stringi wszystko pomiędzy znakami arytmetycznymi, czyli dostałbyś na przykład 2x(String) i teraz wyciągasz osobno zmienną osobno liczbę.
Na pewno byłoby lepiej wyrażeniami regularnymi tak jak piszę @meffcio , ale sposób na retarda też zadziała
@Aven: W Pascalu(i C w sumie też) możesz sobie zdefiniować tablicę indeksowaną po znakach. Więc początkowo ją zerujesz, potem możesz każdy współczynnik zapisać do takiej tablicy i masz przerobione równanie do postaci z możliwą dalszą obróbką. Oczywiście, że dla każdego równania w układzie potrzebujesz oddzielnej takiej tablicy. By układ dało się rozwiązać, to ilość zmiennych w najdłuższym układzie musi być mniejsza lub równa ilości układów.