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

SPOJ Flamaster, zastępowanie napisu liczbą

VPS Starter Arubacloud
0 głosów
1,887 wizyt
pytanie zadane 21 sierpnia 2016 w C i C++ przez mariuszd312 Nowicjusz (200 p.)

Witam, rozwiązuje właśnie zadanie ze SPOJa, i natknąłem się na problem, mianowicie chcę zastąpić literę z napisu na cyfrę która jest zapisana w int'cie. Wyskakuje mi błąd ponieważ, (jak się domyślam) można tę literę zastąpić tylko przez liczbę wpisaną w cudzysłów. Czy można to jakoś ominąć? Czy może powinienem użyć jakiejś innej komendy? 

Link do zadania: http://pl.spoj.com/problems/FLAMASTE/

Jeśli będziecie testować program to pamiętajcie, że najpierw trzeba podać liczbę testów, a dopiero potem napis!

Oto kod źródłowy:

#include <iostream>

using namespace std;

int t, dlugosc;
string napis;

int main()
{
    cin>>t;

    for(int i=0; i<t; i++)
    {
        cin>>napis;
        dlugosc=napis.length();
        
        if(dlugosc>2)
        {
            napis.erase(2,(dlugosc-2));
            napis.replace(1,(dlugosc-2),TUTAJ CHCE WSTAWIC LICZBE ZE ZMIENNEJ dlugosc);
        }
        cout<<napis;
    }
    return 0;
}

 

2 odpowiedzi

+1 głos
odpowiedź 21 sierpnia 2016 przez CharlieGG Użytkownik (900 p.)

Aby zamienić cyfrę z inta na stringa, można użyć prostej operacji, a mianowicie 

'0' + x

gdzie x to Twoja liczba w intcie. Działa to tylko dla pojedynczych cyfr, ponieważ w ten sposób po prostu otrzymujemy kod ASCII danej cyfry. W przypadku liczb większych od 9 sprawa jest nieco bardziej skomplikowana, ale tylko nieznacznie.

0 głosów
odpowiedź 21 sierpnia 2016 przez manjaro Nałogowiec (37,390 p.)
Możesz zawsze przekonwertować to do stringa np poprzez to_str(liczba)

Ale tak naprawdę nie trzeba tego zadania w ten sposób rozwiązywać. Możesz od razu wypisywać na wyjście bez zmiany w tablicy.

Podobne pytania

0 głosów
1 odpowiedź 550 wizyt
pytanie zadane 18 lutego 2020 w SPOJ przez MakaBresk Obywatel (1,060 p.)
0 głosów
1 odpowiedź 839 wizyt
pytanie zadane 21 stycznia 2017 w C i C++ przez Krzysztof Rak Bywalec (2,420 p.)
0 głosów
0 odpowiedzi 208 wizyt
pytanie zadane 3 lutego 2021 w C i C++ przez Rainbow99 Początkujący (430 p.)

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!

...