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

liczby_binarne_zamiana

VPS Starter Arubacloud
0 głosów
962 wizyt
pytanie zadane 29 kwietnia 2017 w C i C++ przez Krystek102 Bywalec (2,440 p.)

Witam mam problem z zamiana z systemu binarnego na dziesietny

treść zadania

W pliku liczby.txt znajduje się 1000 liczb naturalnych zapisanych binarnie. Każda
liczba zapisana jest w osobnym wierszu. Pierwsze pięć wierszy zawiera następujące liczby:
11010100111
11110111111011101
1010100111010100
1101111111111111111111010100101010101001
1010110011001101010011110101010101010111
Każda liczba binarna zawiera co najwyżej 250 cyfr binarnych, co oznacza, że w wielu
językach programowania wartości niektórych z tych liczb nie da się zapamiętać
w pojedynczej zmiennej typu całkowitoliczbowego, np. w języku C++ w zmiennej typu
int.
Napisz program, który da odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku
wynik4.txt, a każdą odpowiedź poprzedź numerem oznaczającym odpowiednie zadanie.

podpunkt C :Znajdź najmniejszą i największą liczbę w pliku liczby.txt. Jako odpowiedź podaj
numery wierszy, w których się one znajdują.

Chciałem zamienić z2na10 system i wtedy znaleźć maks i min ,ale wysypuje mi się podczas zamiany 

oto mój kod :

#include <iostream>
#include <fstream>
#include<cstdlib>
using namespace std;

long long  z2na10(string s)
{
    long long  dziesietna=strtol(s.c_str(),NULL,2);
    return dziesietna;
}
int main()
{
    string s;
    ifstream we("liczby.txt");
    for(int i=0;i<1000;i++)
    {
        we>>s;
        cout<<z2na10(s)<<endl;
    }
    return 0;
}

 

może ktoś wie w jaki sposób da się to zamienić poprawnie ? 

1 odpowiedź

0 głosów
odpowiedź 29 kwietnia 2017 przez Evelek Nałogowiec (28,960 p.)
Nie zamieniaj na systemy liczbowe, bo to szkoda czasu. Wczytaj jako string i porównuj.
komentarz 29 kwietnia 2017 przez Krystek102 Bywalec (2,440 p.)
TAK też można ,ale ja chciałbym zamienić to na dziesietny bo czuję się pewniej,masz może pomysł jak naprawić żeby zamiana dużych liczb działała ?
komentarz 29 kwietnia 2017 przez Evelek Nałogowiec (28,960 p.)
Jak chcesz to naprawić? Liczba 250-cyfrowa nie zmieści się do typu long long.
komentarz 29 kwietnia 2017 przez Krystek102 Bywalec (2,440 p.)
wiec nie da się?najmniejsza znalazłem liczbę ze zbioru tylko mam z maksem problem >>>
komentarz 29 kwietnia 2017 przez Evelek Nałogowiec (28,960 p.)
A przeliczyłeś tą najmniejszą w systemie dziesiętnym na najmniejszą w systemie binarnym czy się zgadza?
komentarz 29 kwietnia 2017 przez Krystek102 Bywalec (2,440 p.)
tak,jest poprawna,nie wiem jak wyszukać najwieksza :(
komentarz 29 kwietnia 2017 przez Evelek Nałogowiec (28,960 p.)
Już Ci napisałem. Podpowiem tylko: Wczytaj jako vector stringów i wykorzystaj: http://en.cppreference.com/w/cpp/algorithm/max

Nie znaleziono podobnych pytań

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...