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

Jestem początkująca i mam problem z tym zadaniem

Object Storage Arubacloud
–1 głos
540 wizyt
pytanie zadane 2 maja 2020 w C i C++ przez natkam00 Nowicjusz (140 p.)
Napisz program, który wczytuje zdanie składające się z wyrazów o długości od 1 do 12 liter i wypisuje listę długości wyrazów, które nie występują w zdaniu (od najmniejszych do największych).

Wejście:

Pierwszy i jedyny wiersz danych wejściowych zawiera zdanie zawierające od 2 do 50 wyrazów zapisanych przy użyciu wielkich liter alfabetu łacińskiego, oddzielonych pojedynczymi odstępami.

Wyjście:

Twój program powinien wypisać listę długości wyrazów, które nie występują w zdaniu (oddzielonych poje- dynczymi odstępami). Jeśli wszystkie długości występują, wtedy program powinien wypisać liczbę 0 (zero).
komentarz 2 maja 2020 przez tkz Nałogowiec (42,000 p.)

W jaki sposób ma być kończone wczytywanie danych? Jeżeli przyjmiemy, że enterem, to użyj getline. 

wypisuje listę długości wyrazów, które nie występują w zdaniu

Tego kompletnie nie rozumiem. Jak mamy wypisać długość czegoś, czego nie ma?

Moim zdaniem polecenie jest kompletnie bez składu i ładu. 

1
komentarz 3 maja 2020 przez Oscar Nałogowiec (29,320 p.)
Masz raptem 12 możliwość - tablica 12 pozycji było/nie było i po wczytaniu każdego słowa odznaczamy w tablicy że wystąpiło słowo o danej długości.

Po odczytaniu do końca linii/pliku wypisujemy które pozycje tabelki pozostały nieodznaczone. To trochę podobne do algorytmu sita Erastotenesa (może się pisze inaczej)  - stopniowo wykreślamy niepasujące pozycja, aż zostaną same pasujące.
komentarz 3 maja 2020 przez tkz Nałogowiec (42,000 p.)
Nie ma nic wspólnego z sitem Erastotenesa, najzwyklejszy histogram.
komentarz 4 maja 2020 przez j23 Mędrzec (194,920 p.)

@tkz,

Tego kompletnie nie rozumiem. Jak mamy wypisać długość czegoś, czego nie ma?

Chodzi o wypisanie tych długości, które nie wystąpiły ani razu.

komentarz 4 maja 2020 przez natkam00 Nowicjusz (140 p.)
To jak program powinien wyglądać? Mógłby ktoś to rozpisać
komentarz 4 maja 2020 przez j23 Mędrzec (194,920 p.)
  • definiujesz tablicę int hist[12 + 1] = { 0 };
  • czytasz w pętli słowo (operatorem >>).
  • dla każdego słowa dajesz ++hist[word.size()];
  • później w drugiej pętli wypisujesz wszystkie długości, które w hist mają wartość zero (indeks oznacza długość słowa).
komentarz 4 maja 2020 przez natkam00 Nowicjusz (140 p.)
Dziękuje :))

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

–1 głos
1 odpowiedź 477 wizyt
pytanie zadane 10 maja 2020 w C i C++ przez natkam00 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 759 wizyt
0 głosów
0 odpowiedzi 338 wizyt
pytanie zadane 29 września 2021 w C i C++ przez diedassel Użytkownik (570 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...