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

Tagi HTML - spoj

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
697 wizyt
pytanie zadane 9 grudnia 2018 w C i C++ przez Shimeo7 Obywatel (1,910 p.)

Panowie, co jest :( robię zadanie tagi HTML https://pl.spoj.com/problems/JHTMLLET/  wszystko się zmienia, ale wprowadzając '<' nic nie ma w stumieniu wyjścia. Nakierujecie co psuje?

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main()
{
    string napis;
    int dlugosc;

    while(getline(cin, napis))
    {
        dlugosc = napis.length();
        for(int i=0; i<dlugosc; i++)
        {
            if(napis[i]=='<')
            {
                while(napis[i]!='>')
                {
                    transform(napis.begin(),napis.end(),napis.begin(),::toupper);
                }
            }
        }

        for(int i=0; i<dlugosc; i++)
        {
            if(i==dlugosc-1)
                cout << napis[i] << endl;
            else
                cout << napis[i];
        }
    }
    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 9 grudnia 2018 przez j23 Mędrzec (195,260 p.)
dlugosc = napis.length();

for(int i = 0; i < dlugosc; )
{
	if(napis[i++] == '<')
	{
		int j = i;
		while(j < dlugosc && napis[j++] != '>') {}
		std::transform(napis.begin() + i, napis.begin() + j, napis.begin() + i, ::toupper);
		i = j;
	}
}

 

komentarz 10 grudnia 2018 przez Shimeo7 Obywatel (1,910 p.)
Dziękuję za odpowiedź, jednak nie do końca rozumiem. Dlaczego tworzone są dwie zmienne (i & j). Jeszcze jest taki problem, ze próbowałem wyświetlić napis, ale nic się nie wyświetlało, dodałem kolejną pętle typu for, w celu wyświetlenia napisu. Z góry dziękuję za odpowiedź
komentarz 10 grudnia 2018 przez j23 Mędrzec (195,260 p.)

Jeszcze jest taki problem, ze próbowałem wyświetlić napis, ale nic się nie wyświetlało

Nie wiem, jak wstawiłeś ten kod do swojego, więc trudno coś sensownego napisać na ten temat.

 

Dlaczego tworzone są dwie zmienne (i & j)

Użycie obu zmiennych w wywołaniu std::stransform powinno tłumaczyć, po co one są. i - początek zawartości taga, pozycja za <, j - pozycja za >.

Podobne pytania

0 głosów
1 odpowiedź 158 wizyt
pytanie zadane 27 lutego 2020 w HTML i CSS przez BlayUng Początkujący (260 p.)
0 głosów
2 odpowiedzi 674 wizyt
pytanie zadane 12 września 2018 w PHP przez Ambroz Obywatel (1,840 p.)
0 głosów
1 odpowiedź 1,999 wizyt
pytanie zadane 9 września 2018 w SPOJ przez Piotr Błaszczak Bywalec (2,890 p.)

93,180 zapytań

142,195 odpowiedzi

321,993 komentarzy

62,511 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 1873p. - dia-Chann
  2. 1848p. - Łukasz Piwowar
  3. 1831p. - CC PL
  4. 1827p. - Łukasz Eckert
  5. 1789p. - Tomasz Bielak
  6. 1769p. - Michal Drewniak
  7. 1761p. - Łukasz Siedlecki
  8. 1758p. - rucin93
  9. 1708p. - Adrian Wieprzkowicz
  10. 1668p. - Mikbac
  11. 1621p. - rafalszastok
  12. 1506p. - Marcin Putra
  13. 1356p. - ssynowiec
  14. 1289p. - Anonim 3619784
  15. 1232p. - Mariusz Fornal
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...