Skocz do zawartości
gofer88

[c]kilka Programów

Rekomendowane odpowiedzi

Witam. Czy byłby ktoś w stanie mi pomóc i napisałby kilka programów w języku C. Oczywiście sie odwdzięczę...

 

3113. Kalkulator z pamięciąKod zadania: KCCALCNapisz program, który działa jak prosty kalkulator z pamięcią obsługujący pięć operacji: dodawanie, odejmowanie, mnożenie, dzielenie i obliczanie reszty z dzielenia liczb całkowitych. Przyjmujemy, że nasz kalkulator ma w pamięci 10 rejestrów o numerach 0 - 9 oraz że wszystkie rejestry zawierają na początku zera.WejścieNa wejście programu podana zostanie pewna liczba zestawów danych (co najwyżej 10.000). Każdy z zestawów ma postać:o a1 a2gdzie o jest jednoznakowym symbolem operacji do wykonania (+, -, *, /, % i z), a a1 i a2 argumentami tej operacji. Argumenty są albo liczbami całkowitymi (z zakresu od -1.000.000.000 do 1.000.000.000) albo napisami postaci r[i], gdzie i jest liczbą z zakresu 0 - 9. Poszczególne zestawy zostaną rozdzielone znakiem nowej linii.WyjścieNa wyjściu programu ma się pojawić ciąg liczb będących rezultatem wykonania pojawiających się na wejściu poleceń. Poszczególne liczby należy rozdzielić znakami nowej linii. To, co należy wykonać, zależy od symbolu operacji. Symbole +, -, *, / i % nakazują wykonanie odpowiednio dodawania, odejmowania, mnożenia, dzielenia i obliczenia reszty z dzielenia liczb będących argumentami operacji. Jeżeli argumentem nie jest liczba, a napis postaci r[i], to przed wykonaniem operacji należy zastąpić go bieżącą wartością rejestru o numerze i. Symbol z nakazuje zapis wartości podanej jako drugi argument w rejestrze o numerze podanym jako pierwszy argument (po wykonaniu tej operacji nie trzeba nic wyświetlać; można założyć, że argumenty operacji z są liczbami całkowitymi). Uwaga! Przyjmujemy, że wynikiem dzielenia oraz resztą z dzielenia przez 0 jest NaN.PrzykładWejście:	z 1 2	z 2 2	+ 1 5	* r[2] 6	/ r[1] r[0]	+ 7 r[9]	- 0 4	% 5 -6Wyjście:	6	12	NaN	7	-4	5Komentarz do ostatniego wyniku: reszta z dzielenia musi być nieujemna (przypomnienie: liczby q i r są odpowiednio ilorazem i resztą z dzielenia a przez b wtedy i tylko wtedy, gdy a = q*b + r i 0 <= r < |b|), więc użycie operatora % dostępnego m.in. w C do obliczenia wyniku może prowadzić do nieprawidłowego wyniku (5 % -6 daje w C wynik -1).
5085. Kalkulator ułamkówKod zadania: KCRATSUMNapisz program, który będzie dodawać, odejmować, mnożyć i dzielić ułamki zwykłe.WejścieNa wejście programu podana zostanie pewna ilość (co najwyżej 10.000) zestawów danych. Każdy z zestawów ma postaća/b op c/dgdzie a, b, c i d to liczby całkowite z zakresu 1-1.000.000, a op jest jednym ze znaków +, -, * lub /. Pomiędzy znakiem op a otaczającymi go liczbami znajduje się spacja. Poszczególne zestawy zostaną od siebie oddzielone znakiem nowej linii.WyjścieDla każdego z wczytanych z wejścia zestawów należy wykonać operację op na ułamkach zwykłych a/b i c/d. Wynik należy wypisać w postaci:p/qgdzie p i q to licznik i mianownik wyniku w postaci nieskracalnej (q>0). Poszczególne wyniki należy oddzielić od siebie znakiem nowej linii.PrzykładWejście:	3/4 + 7/8	12/6 - 8/12	1/2 + 1/2	6/8 - 16/3Wyjście:	13/8	4/3	1/1	-55/12
3181. Różnica i suma dużych liczbKod zadania: KCSUMDIFNapisz program, który wyznacza róźnicę oraz sumę podanych liczb naturalnych.WejścieNa wejście programu podana zostanie pewna ilość zestawów danych (co najwyżej 1000). Każdy zestaw będzie się składać z dwóch liczb naturalnych rozdzielonych spacją. Poszczególne zestawy zostaną rozdzielone znakiem nowej linii. Przyjmujemy, że żadna z liczb nie ma więcej niż 1000 cyfr.WyjścieDla każdego z wczytanych z wejścia zestawów należy wyznaczyć różnicę oraz sumę liczb, które w skład tego zestawu wchodzą. Poszczególne wyniki należy rozdzielić znakiem nowej linii.PrzykładWejście:	100 200	6001 10	700 100Wyjście:	-100	300	5991	6011	600	800
3182. Reszta z dzielenia dużych liczbKod zadania: KCMODULONapisz program, który wyznacza resztę z dzielenia podanych liczb naturalnych.WejścieNa wejście programu podana zostanie pewna ilość zestawów danych (co najwyżej 1000). Każdy zestaw będzie się składać z dwóch liczb naturalnych rozdzielonych spacją. Poszczególne zestawy zostaną rozdzielone znakiem nowej linii. Przyjmujemy, że żadna z liczb nie ma więcej niż 1000 cyfr.WyjścieDla każdego z wczytanych z wejścia zestawów należy wyznaczyć resztę z dzielenia liczb, które w skład tego zestawu wchodzą (dzielimy zawsze pierwszą z liczb przez drugą). Poszczególne wyniki należy rozdzielić znakiem nowej linii. Uwaga! Można założyć, że dane wejściowe nie zawierają polecenia dzielenia przez 0.PrzykładWejście:	100 200	6001 10	700 100Wyjście:	100	1	0
3183. Najczęściej występujący elementKod zadania: KCQSORTNapisz program, który wyznacza najczęściej występujące elementy danego ciągu.WejścieNa wejście programu podana zostanie pewna liczba zestawów danych (co najwyżej 1000). Każdy z zestawów ma postać:n x1 x2 … xngdzie n jest liczbą naturalną (z zakresu 1-1000), po której następuje n liczb całkowitych x1 x2 … xn (z zakresu od -1000 do 1000). Poszczególne liczby w zestawie zostaną rozdzielone spacją, a poszczególne zestawy znakiem nowej linii.WyjścieDla każdego z wczytanych z wejścia zestawów należy wyznaczyć elementy, które w ciągu x1 x2 … xn występują najczęściej. Następnie należy je wydrukować w kolejności od najmniejszego do największego, rozdzielając poszczególne liczby spacją. Wyniki dla poszczególnych zestawów należy rozdzielić znakiem nowej linii.PrzykładWejście:	5 1 3 11 1 7	6 2 4 1 2 4 3	7 3 5 2 2 2 2 2	6 4 4 4 4 4 4Wyjście:	1	2 4	2	4

Zadanie kalkulator ułamków mam napisane ale spoj wywala przekroczony limit czasu...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...