• Nie Znaleziono Wyników

Pierwsze przybliżenie wygląda tak

N/A
N/A
Protected

Academic year: 2021

Share "Pierwsze przybliżenie wygląda tak"

Copied!
2
0
0

Pełen tekst

(1)

UWAGA w zadaniach 1, 2, 3, 4 używamy tylko wskaźników.

Np. zapis nps[i] jest niedopuszczalny Zad1

Napisz funkcję

void opak(char *napis),

która odwraca napis, np. jeśli nps jest zdefiniowane:

char nps[]="Alicja";

to po komendach:

opak(nps);

puts(nps);

ma się pojawić na ekranie napis: ajcilA Zad2

Napisz funkcję:

void cezar(char napis[]),

która szyfruje napis przesuwając litery o 1 w "górę alfabetu", zaś

'z' zamienia na 'a' (znaków innych niż litery nie zmieniamy, a liter polskich nie uznajemy).

w przykładzie jak z Zad1 ma się pojawić: Bmjdkb Zad3

Napisać funkcję mnożącą dwie macierze 3x3 Zad4

Zmodyfikować funkcję selsort z programu wybieranie.c z wykładu 6 do "postaci wskaźnikowej".

Zad5

Napisać funkcję void ciagi(int n),

która drukuje wszystkie ciągi o wyrazach 0, 1 i długości n

wywołanie:

ciagi(2) ma wydrukować

0 0

0 1

1 0

1 1

(albo te same ciągi w innej kolejności)

Zad6

Zbiór Cantora jest dość złożonym obiektem matematycznym, który rysuje się za pomocą kolejnych przybliżeń

(w których stopniowo rośnie "powiększenie").

Pierwsze przybliżenie wygląda tak:

* * // gwiazdka, spacja, gwiazdka Dla n>1, n-te przybliżenie wygląda tak:

(n-1-sze przybliżenie)(spacje)(n-1-sze przybliżenie),

przy czym liczba spacji jest taka, jak długość n-1-szego przybliżenia, czyli dokładnie 3^(n-1).

Np. trzecie przybliżenie wygląda tak:

* * * * * * * *

(2)

Napisz funkcję void cantor(int n),

która drukuje n-te przybliżenie zbioru Cantora.

Dla ułatwienia możesz na końcu nie drukować znaku nowej linii.

Zad7

Napisz funkcję

void katalogi(int n),

która drukuje (w sposób zgodny z przykładem podanym poniżej) hierarchię katalogów i plików.

Zakładamy, że w systemie:

- jest jeden katalog główny na głębokości 0, - wszystkie pliki znajdują się na głębokości n,

- każdy katalog zawiera dokładnie dwa podkatalogi (jeśli jest na głębokości < n- 1)

lub dokładnie dwa pliki (jeśli jest na głębokości n-1).

Np. dla n=2 funkcja powinna wydrukować:

- katalog |- katalog | |- plik | |- plik |- katalog | |- plik | |- plik

Zad8 Bernard gra w nastepującą jednoosobową grę:

- na poczatku dana jest całkowita dodatnia liczba n

- w każdym ruchu Bernard wykonuje na aktualnej liczbie jedną z operacji:

- dzielenie przez 5 (bez reszty) - zmniejszenie o 1

- zmniejszenie o 215

przy czym dozwolone sa tylko te operacje, które dają wynik całkowity dodatni - celem gry jest otrzymanie liczby 1 w najmniejszej możliwej liczbie ruchow.

Np.

- zaczynając od 4 można dojść do 1 w trzech ruchach (-1, -1, -1) - zaczynając od 34 można dojść do 1 w dwoch ruchach (:5, :5) - zaczynając od 216 można dojść do 1 w jednym ruchu (-215).

Napisz funkcję

int ile_krokow(int n),

która dla danej liczby n<=500 zwraca najmniejszą liczbę ruchów prowadzących z n do 1.

Dostaniesz dodatkowe punkty, jeśli funkcja będzie dawała wynik natychmiast (w sekundę) dla n<=1000000.

Cytaty

Powiązane dokumenty

18,4 km 240 m 14,5 m Na odcinku tym droga wodna przebiega po głębokościach naturalnych i nie wymaga pogłębiania. Analiza prac pogłębiarskich wykonywanych w

Zad.3 Oblicz ciśnienie hydrostatyczne acetonu (d=790Kg/m 3 ) na głębokości

algorytm sprawdzania, czy zadana rodzina posiada system różnych reprezentan- tów, a jeśli tak, to podaje jeden z nich.. Algorithm 5: SystemRóżnychReprezentantów(I) for i

[r]

[r]

naczono przemieszczenia w kierunku siły X2 od obciążenia jednostkowego X.j i jednostkowego odporu górotworu, a przez i 8^ - od zadanych jednostkowych

Mniejsze zużycie na powierzchni natarcia i przyłożenia podczas toczenia w po- równaniu ze zużyciem ostrza po wytaczaniu z tą samą głębokością skrawania po- twierdza

To rozwiązanie jest nieprawidłowe, bo nie jest spełnione wstępne założenie x ≤ 3,50m.. Sprzeczność, pal musi być