Loading...
StilianKushev avatar StilianKushev 2 Точки

04. Photo Gallery - int to B,KB,MB

Здравейте!

Имам затруднения в решаването на задата,по точно в превръщането на int към B,KB,MB

//----------Задачата----------//

Problem 1.Photo Gallery

Write a program, which receives image metadata as input and prints information about the image, such as its filename, date taken, size, resolution and aspect ratio. Also, calculate the orientation of the image. The 3 orientations are: portrait, landscape and square.

Input

  • First line – the photo’s number – an integer in the range [0…9999]
  • Second, third, fourth line – the day, month and year the photo was taken – integers forming valid dates in the range [01/01/1990…31/12/2020]
  • Fifth, sixth line – the hours and minutes the photo was taken – integers in the range [0…23]
  • Seventh line – the photo’s size in bytes integer in the range [0…999000000]
  • Eighth, ninth line – the photo’s resolution (width and height) in pixels integers in the range [1…10000]

Output

  • The name should be printed in the format “DSC_xxxx.jpg”.
  • The date and time taken should be printed in the format “dd/mm/yyyy hh:mm”.
  • The size should be printed in standard human-readable format (i.e. 950 bytes = 950B, 500000 bytes = 500KB, 1500000 bytes = 1.5MB).
  • The resolution should be printed in the following format: “{width}x{height}”.
  • The orientation can be one of three valid values: portrait, landscape and square.

Examples

Input

Output

 

Input

Output

35

25

12

2003

12

3

1500000

5334

3006

Name: DSC_0035.jpg

Date Taken: 25/12/2003 12:03

Size: 1.5MB

Resolution: 5334x3006 (landscape)

533

20

3

1993

11

33

350000

768

1024

Name: DSC_0533.jpg

Date Taken: 20/03/1993 11:33

Size: 350KB

Resolution: 768x1024 (portrait)

Тагове:
0
Programming Fundamentals
svetoslav_0 avatar svetoslav_0 1009 Точки

Мога да предложа следното: входните данни да в байтове, просто направи проверки дали е по малко от 1000, дали не е между 1000 и 1 000 000 или повече от 1 000 000 и слагаш съответно B, KB или MB

0
KeepCoding avatar KeepCoding 554 Точки

Ето частта от кода, за която казваш че имаш затруднения. 

            double result = bytesMemory; //bytesMemory е променлива от тип "long"
            string sizeType = "B";
            
            if (1000 <= bytesMemory && bytesMemory < 1000000)
            {
                result =(double)bytesMemory / 1000;
                sizeType = "KB";
            } else if (bytesMemory >= 1000000)
            {
                result = (double)bytesMemory / 1000000;
                sizeType = "MB";
            }

"int" не трябва (и не може) да се превръща в памет колега. 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.