Zamiana kolejności wyrazów

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...

0

Jak nie petla to rekurencja.

0

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

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...

0

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

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)

0

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

0

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

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?

0

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

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

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

zdanie = ["Ala ","ma ","czarnego ","kota "]
text=""
zdanie.reverse()
print (text.join(zdanie))
 
2

Ruby:

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

Haskell:

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

Smalltalk:

(('Ala ma czarnego kota' tokenize: ' ') reverse join: ' ') printString
0

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

#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;
}
0

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

s = "Ala ma czarnego kota"
l = s.split()
l.reverse()
print " ".join(l)
0
winerfresh napisał(a):

Ruby:

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ć ;)

4

Hmm, ta chwila musiała nadejść.

Jak język dowolny to dowolny:

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

http://ideone.com/m4yjUt

Wersja ładniejsza:

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1