graphlogo

Wydział Matematyki i Informatyki

Uniwersytetu Mikołaja Kopernika w Toruniu

1inf 2023/2024 - Programowanie I, LE

[c4] Przechowywanie obrazow
Data zakończenia: 2024-04-19 16:00
Języki: c
Limit czasu: 1.0 s
Limit pamięci: 5 MB
Cel
Zadanie na użycie operatorów bitowych (lub arytmetycznych) i proste pętle.


Problem
W pewnym prostym programi na czytnik e-papieru zaszła potrzeba przechowywania prostych obrazów. Ze względu na niewielki rozmiar (czarno-białych) obrazów zdecydowano się na przechowywanie poszczególnych linijek obrazka w postaci 64-bitowych liczb całkowitych nieujemnych, gdzie kolejne piksele od lewej strony były reprezentowane przez kolejne bity od najmniej znaczących (czyli pierwszy bit od lewej strony był reprezentowany przez 0-wy bit odpowiadający liczbie 1 itd.).

Zadanie
Napisz program, który ze standardowego wyjścia wczyta kolejno nastepujące (nieujemne) wartości całkowitoliczbowe
  • 2 wartości będące kolejno
    • szerokością obrazka m (długością wypisywanych wierszy),
    • wysokością obrazka n (liczbą wierszy do wypisania);
  • wartości kodujące kolejne liniie obrazka.
Na standardowe wyjście ma zostać wypisanych n linii, z których każda zawiera dokładnie m znaków należących do zbioru {"-", "+"} (minus i plus), przy czym "+" ma odpowiadać bitowi 1, a "-" bitowi 0.

Przykład
Wejście
20 24

0 16128 65504 131056 114936 98424 60 60 30 30 30 30 30 30 30 62 60 124 98428 114936 131056 65504 16256 0
Wyjście
--------------------
--------++++++------
-----+++++++++++----
----+++++++++++++---
---+++++------+++---
---++++--------++---
--++++--------------
--++++--------------
-++++---------------
-++++---------------
-++++---------------
-++++---------------
-++++---------------
-++++---------------
-++++---------------
-+++++--------------
--++++--------------
--+++++-------------
--+++++--------++---
---+++++------+++---
----+++++++++++++---
-----+++++++++++----
-------+++++++------
--------------------
Powrót
© 2009-2020 • ZawodyWeb Team
IKS - Inwestycja w Kierunki Strategiczne na Wydziale Matematyki i Informatyki UMK

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego