CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Przypisanie zmiennej do wprowadzanych danych

Przypisanie zmiennej do wprowadzanych danych

dział ogólny

Przypisanie zmiennej do wprowadzanych danych

Nowy postprzez nvdante » środa, 1 kwietnia 2015, 16:30

Witam

Czy jest taka możliwość, aby wpisane przez usera, np.: "AxF" spowodowało pobranie zmiennej zmienna1(A) oraz zmienna2(F), a następnie pomnożyło przez AxF? I wyświetliło wynik?
Liberae sunt nostrae cogitationes
Avatar użytkownika
nvdante
Intelektryk
Intelektryk
 
Posty: 188
Dołączył(a): piątek, 12 czerwca 2009, 16:58
Lokalizacja: Dom
Podziękował : 8
Otrzymał podziękowań: 0
System operacyjny: Windows 7
Kompilator: VS 2015
Gadu Gadu: 0
    Windows VistaFirefox

Re: Przypisanie zmiennej do wprowadzanych danych

Nowy postprzez polymorphism » środa, 1 kwietnia 2015, 18:00

Nie ma takiej możliwości, to zbyt złożony problem algorytmiczny, z którym nikt jeszcze sobie nie poradził. Tak więc musisz wpaść na jakiś inny pomysł.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows 7Firefox

Re: Przypisanie zmiennej do wprowadzanych danych

Nowy postprzez nvdante » środa, 1 kwietnia 2015, 18:03

Ok, dzięki :)
Liberae sunt nostrae cogitationes
Avatar użytkownika
nvdante
Intelektryk
Intelektryk
 
Posty: 188
Dołączył(a): piątek, 12 czerwca 2009, 16:58
Lokalizacja: Dom
Podziękował : 8
Otrzymał podziękowań: 0
System operacyjny: Windows 7
Kompilator: VS 2015
Gadu Gadu: 0
    Windows VistaFirefox

Re: Przypisanie zmiennej do wprowadzanych danych

Nowy postprzez polymorphism » środa, 1 kwietnia 2015, 18:05

;)
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows 7Firefox

Re: Przypisanie zmiennej do wprowadzanych danych

Nowy postprzez Mironas » czwartek, 2 kwietnia 2015, 10:56

Poczytaj o parserach, np. tutaj:
http://cpp0x.pl/artykuly/?id=46
Avatar użytkownika
Mironas
Programista I
Programista I
 
Posty: 427
Dołączył(a): poniedziałek, 2 stycznia 2012, 19:02
Podziękował : 17
Otrzymał podziękowań: 61
System operacyjny: Windows 10
Kompilator: C++Builder 10.3 Rio
TMS Components Pack
Gadu Gadu: 0
    Windows XPChrome

Re: Przypisanie zmiennej do wprowadzanych danych

Nowy postprzez nvdante » czwartek, 2 kwietnia 2015, 11:21

Zaraz poczytam, dzięki, ale mam jeszcze dwa pytanka.
Dlaczego zapis:
KOD cpp:     UKRYJ  
int t1[250000][4];

wywala program, a
KOD cpp:     UKRYJ  
int t1[25000][4];

nie wywala? Za mało pamięci czy co? :roll:

Po drugie... potrzebuję tak długo trzymać while, aż skończy się ilość znaków.
Próbowałem tak:
KOD cpp:     UKRYJ  
while (cin.peek()!='\n')

wszystko super na moim komputerze, ale na kompilatorach w necie dostawałem info o przekroczeniu czasu. Gdy podmieniałem cin.peek na liczbę działało ok. Wnioskuję z tego, że program nie dostawał znaku końca linii ( co dość dziwne, bo u mnie działało, ale u mnie stdin kończy się enterem z palca ). Jak mogę to poprawić? Najlepiej pętlą aż pojawi się np.: '; '( średnik, a za nim spacja ) lub ostatni znak - jestem otwarty na propozycje :)
Liberae sunt nostrae cogitationes
Avatar użytkownika
nvdante
Intelektryk
Intelektryk
 
Posty: 188
Dołączył(a): piątek, 12 czerwca 2009, 16:58
Lokalizacja: Dom
Podziękował : 8
Otrzymał podziękowań: 0
System operacyjny: Windows 7
Kompilator: VS 2015
Gadu Gadu: 0
    Windows VistaFirefox

Re: Przypisanie zmiennej do wprowadzanych danych

Nowy postprzez Mironas » czwartek, 2 kwietnia 2015, 12:46

Każdy kompilator może działać nieco inaczej. Wystarczy, że prawidłowo działa Ci na tym na którym faktycznie robisz program. W przeciwnym przypadku użyj dodatkowych (albo innych) warunków dla while.
Avatar użytkownika
Mironas
Programista I
Programista I
 
Posty: 427
Dołączył(a): poniedziałek, 2 stycznia 2012, 19:02
Podziękował : 17
Otrzymał podziękowań: 61
System operacyjny: Windows 10
Kompilator: C++Builder 10.3 Rio
TMS Components Pack
Gadu Gadu: 0
    Windows XPChrome

Re: Przypisanie zmiennej do wprowadzanych danych

Nowy postprzez polymorphism » czwartek, 2 kwietnia 2015, 14:48

Dlaczego zapis:
KOD cpp:     UKRYJ  
int t1[250000][4];

wywala program, a
KOD cpp:     UKRYJ  
int t1[25000][4];

nie wywala? Za mało pamięci czy co?

A gdzie tę tablicę definiujesz? Na stosie? Jeśli tak, to nie ma co się dziwić - 4MB tablica na stosie to "lekka" przesada.

Po drugie... potrzebuję tak długo trzymać while, aż skończy się ilość znaków.

Zamiast peek i while użyj metody ignore.



@Mironas, do tego co chce zrobić jakichś bardziej złożonych parserów nie trzeba. Wystarczy sscanf z odpowiednim format-stringiem.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows 7Firefox

Re: Przypisanie zmiennej do wprowadzanych danych

Nowy postprzez nvdante » czwartek, 2 kwietnia 2015, 16:16

polymorphism napisał(a):A gdzie tę tablicę definiujesz? Na stosie? Jeśli tak, to nie ma co się dziwić - 4MB tablica na stosie to "lekka" przesada.

Nie bardzo rozumiem. O ile wiem, to standardowa deklaracja tablicy dwuwymiarowej. Zawsze mi się wydawało, że mogę zająć każdą ilość pamięci, którą potrzebuję. Powinienem zrobić to inaczej? Jak?

Zamiast peek i while użyj metody ignore.

O, dobre! Dzięki :)

@Mironas użyłem innych, bo do akceptacji muszę dać kod, a nie gotowy program. Tak czy inaczej działa, dzięki :)
Liberae sunt nostrae cogitationes
Avatar użytkownika
nvdante
Intelektryk
Intelektryk
 
Posty: 188
Dołączył(a): piątek, 12 czerwca 2009, 16:58
Lokalizacja: Dom
Podziękował : 8
Otrzymał podziękowań: 0
System operacyjny: Windows 7
Kompilator: VS 2015
Gadu Gadu: 0
    Windows VistaFirefox

Re: Przypisanie zmiennej do wprowadzanych danych

Nowy postprzez polymorphism » czwartek, 2 kwietnia 2015, 18:37

Zawsze mi się wydawało, że mogę zająć każdą ilość pamięci, którą potrzebuję.

Nie na stosie. Pamięć stosu jest relatywnie mała i ograniczona (parę megabajtów). Większe rzeczy powinieneś tworzyć na stercie, wtedy nie będzie przykrych niespodzianek związanych z przepełnieniem stosu.

Taką tablicę możesz stworzyć wyrażeniem new, ale zabawa gołymi wskaźnikami bez powodu to proszenie się o kłopoty, więc lepiej użyć vectora:
KOD cpp:     UKRYJ  
vector<array<int, 4>> t1(250000);
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows 7Firefox

Re: Przypisanie zmiennej do wprowadzanych danych

Nowy postprzez nvdante » piątek, 3 kwietnia 2015, 16:49

Rozumiem, to będę musiał poczytać na ten temat :)
Dzięki, pozdrawiam.
Liberae sunt nostrae cogitationes
Avatar użytkownika
nvdante
Intelektryk
Intelektryk
 
Posty: 188
Dołączył(a): piątek, 12 czerwca 2009, 16:58
Lokalizacja: Dom
Podziękował : 8
Otrzymał podziękowań: 0
System operacyjny: Windows 7
Kompilator: VS 2015
Gadu Gadu: 0
    Windows 7Firefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 56 gości

cron