Zamiana kolejności wyrazów

D8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Hej
Ma może ktoś pomysł jak wypisać ze zdania: "Ala ma czarnego kota" zdanie "Czarnego kota ma Ala" bez użycia pętli?
Znalazłem zamianę kolejności wyrazów w zdaniu, ale tylko przy pomocy pętli niestety, a nie mogę tutaj użyć pętli...

02
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1176
0

Jak nie petla to rekurencja.

D8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

A wie może ktoś jak to zapisac? :)

unikalna_nazwa
  • Rejestracja: dni
  • Ostatnio: dni
0
duk86 napisał(a):

Hej
Ma może ktoś pomysł jak wypisać ze zdania: "Ala ma czarnego kota" zdanie "Czarnego kota ma Ala" bez użycia pętli?
Znalazłem zamianę kolejności wyrazów w zdaniu, ale tylko przy pomocy pętli niestety, a nie mogę tutaj użyć pętli...

moze jakies szczegoly? czemu nie mozesz uzyc petli?
jaka zasada sie kierowales przy zamianie kolejnosci wyrazow?

3 slowo, potem 4, potem 2, potem 1?
to rozdziel zdanie po spacjach a potem po prostu wypisz korzystajac z tych indeksow...

D8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

W poleceniu jest, że nie mogę użyć pętli. Wyrazy te mają być odczytane w odwrotnej kolejności.

unikalna_nazwa
  • Rejestracja: dni
  • Ostatnio: dni
0

a jaki język?
może zwyczajnie masz rozdzielić zdanie po spacjach do tablicy, potem posortować tablicę jako funkcji porównującej używając randa, złączyć tablicę ze spacjami gotową funkcją która jest w tym języku

jeśli nie to rekurencyjna funkcja wyświetlająca może wyglądać tak:

jeśli długość tablicy > 1
przekaż do funkcji tę samą tablicę z obciętym pierwszym elementem
wypisz pierwszy element

(użycie nawet samej tej funkcji bez sortowania spowoduje już odwrócenie kolejności wyrazów)

D8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Język programowania jest dowolny. Może być nawet kilka języków w jeden połączonych.

D8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Na pewno dowolny, ale najlepiej, żeby to był jakiś w miarę popularny język jak, np. C++.

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0
duk86 napisał(a):

Na pewno dowolny, ale najlepiej, żeby to był jakiś w miarę popularny język jak, np. C++.

A to PHP nie jest popularny?

D8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

I to już odwróci kolejność zapisu wyrazów w zdaniu?

unikalna_nazwa
  • Rejestracja: dni
  • Ostatnio: dni
0

no to może C# http://ideone.com/VYCLa1
javascript http://ideone.com/Nl0idf ? ;)
może sprecyzujesz bo wydaje mi się że nie o to chodziło ;D

SI
  • Rejestracja: dni
  • Ostatnio: dni
0

W pythonie to będzie coś takiego, chyba że wprowadzanie zdania (o którym nic nie wspominałeś) też bez pętli wtedy sam już nie wiem

Kopiuj
zdanie = ["Ala ","ma ","czarnego ","kota "]
text=""
zdanie.reverse()
print (text.join(zdanie))
 
hauleth
  • Rejestracja: dni
  • Ostatnio: dni
2

Ruby:

Kopiuj
puts  "Ala ma czarnego kota".split(/ /).reverse.join(' ')

Haskell:

Kopiuj
main = putStrLn . unwords . reverse . words $ "Ala ma czarnego kota"

Smalltalk:

Kopiuj
(('Ala ma czarnego kota' tokenize: ' ') reverse join: ' ') printString
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
RE
  • Rejestracja: dni
  • Ostatnio: dni
0

C++
http://ideone.com/PLYPHN

Kopiuj
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <algorithm>
#include <iterator>

using namespace std;

int main()
{
    string text = "Ala ma czarnego kota";
    
    istringstream input(text);
    ostringstream output;

    istream_iterator<string> input_begin(input), input_end;
    vector<string> words(input_begin, input_end);
    copy(words.rbegin(), words.rend(), ostream_iterator<string>(output, " "));

    string reversed_text = output.str();

    cout << reversed_text;
}
bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Python <html>http://ideone.com/uQCOSB</html>

Kopiuj
s = "Ala ma czarnego kota"
l = s.split()
l.reverse()
print " ".join(l)
unikalna_nazwa
  • Rejestracja: dni
  • Ostatnio: dni
0
winerfresh napisał(a):

Ruby:

Kopiuj
puts  "Ala ma czarnego kota".split(/ /).reverse.join(' ')

to w javascript byłoby niemal identycznie:
"Ala ma czarnego kota".split(/ /).reverse().join(' ')

z tym że według pierwszego posta to miało losowo zmieniać kolejność, a nie ją odwracać ;)

msm
  • Rejestracja: dni
  • Ostatnio: dni
4

Hmm, ta chwila musiała nadejść.

Jak język dowolny to dowolny:

Kopiuj
>++++++++++++++++++++++[++++++++++>,----------]<[-----------------
---------------[++++++++++++++++++++++++++++++++<-----------------
---------------]>[.>][<]++++++++++++++++++++++++++++++++.[-]<[<]<]

http://ideone.com/m4yjUt

Wersja ładniejsza:

Kopiuj
>++++++++++++++++++++++[++++++++++>,----------]<
[
    --------------------------------[
    ++++++++++++++++++++++++++++++++<
    --------------------------------]
    >[.>][<]
    ++++++++++++++++++++++++++++++++.[-]<[<]<
]

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.