• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PP0504D - Reprezentacja liczb typu float

0 głosów
73 wizyt
pytanie zadane 26 listopada 2018 w C# i .NET przez luckymalCOM Początkujący (400 p.)
edycja 26 listopada 2018 przez luckymalCOM

Witajcie,
zabawiam się czasami ze spojem i tak trafiłem na zadanie w zasadzie banalne.
Link: https://pl.spoj.com/problems/PP0504D/

Konwert liczby float na liczbe hex - w C# praktycznie dwie linijki kodu, następnie zamiana na małe litery i zapis pojedynczych zer.
Program poniżej idealnie wpisuje się w wyniki przykładowe, dodatkowo testowałem jeszcze na kilkudziesięciu wrażliwych liczbach i wydaje się, że wyniki są poprawne.
Sędzia jednak cały czas zwraca błąd i trochę jestem zdegustowany :P

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

namespace Reprezentacja_liczb_typu_float
{
    class Program
    {
        static void printfloat(float x)
        {
            byte[] bytes = BitConverter.GetBytes(x);
            int i = BitConverter.ToInt32(bytes, 0);

            string s = Regex.Replace(i.ToString("X"), ".{2}", "$0 "); ;

            Console.WriteLine(RefactorHex(s));
        }

        static void Main(string[] args)
        {
            int ile = int.Parse(Console.ReadLine());

            List<float> wynikKoncowy = new List<float>();
            for (int i = 0; i < ile; i++)
            {
                wynikKoncowy.Add(float.Parse(Console.ReadLine().Replace(',', '.')));
            }

            foreach (var item in wynikKoncowy)
            {
                printfloat(item);
            }

            Console.ReadLine();
        }

        private static string RefactorHex(string s)
        {
            string wynikKoncowy = "";

            foreach (var item in s.Split(' '))
            {
                string b = item;
                if (item == "00")
                {
                    b = "0";
                }

                wynikKoncowy += b + " ";

            }

            if (s == "0")
                wynikKoncowy = "0 0 0 0";
            return wynikKoncowy.TrimEnd().ToLower();
        }
    }
}

Jakieś pomysły? obstawiam, że jest tu ukryta jakaś drobna pierdoła....

komentarz 26 listopada 2018 przez RafalS VIP (106,620 p.)

Link:

Konwert liczby...

Gdzie ten link? 

komentarz 26 listopada 2018 przez luckymalCOM Początkujący (400 p.)

Wybacz!

Już wstawiłem smiley

1 odpowiedź

0 głosów
odpowiedź 4 grudnia 2018 przez pulson666 Stary wyjadacz (10,560 p.)
Może głupie ale usuń Console.ReadLine(); :D

Podobne pytania

+1 głos
2 odpowiedzi 248 wizyt
pytanie zadane 5 grudnia 2015 w C# i .NET przez rafalx200 Początkujący (250 p.)
0 głosów
1 odpowiedź 286 wizyt
pytanie zadane 16 lutego 2016 w C# i .NET przez niezalogowany
0 głosów
2 odpowiedzi 552 wizyt
pytanie zadane 7 kwietnia 2016 w C i C++ przez Adrian1999 Nałogowiec (33,050 p.)
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

62,361 zapytań

108,495 odpowiedzi

226,498 komentarzy

35,441 pasjonatów

Przeglądających: 228
Pasjonatów: 10 Gości: 218

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...