Kelime generator yapımı

aydogdu.25

Yoctopat
Katılım
14 Eylül 2022
Mesajlar
4
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar merhaba ben bir program yazmak istiyorum. Program şu şekilde çalışması lazim.
Girilen kelimelerle tek tek ikili kombin yapmali.
Örneğin: Bilim, güvenlik gibi iki kelime girdik. Program tek tek bunları ikili kombin yapacak.
Bilimguvenlik.
Güvenlikbilim. Gibi.
Bu programı nasıl yazabilirim? Yardimci olursanız sevinirim.
 
n tane elemanın permütasyonlarını hesaplama çok zor bir işlem değil "tek" satırlık iş.
n tane elemanın 2'li dizilimlerini hesaplamak için ilk 2 column alınabilir.

Bkz.
JavaScript:
const permutaion = (xs) => !xs.length ? [[]] : xs.flatMap(x => permutaion(xs.filter(v => v !== x)).map(vs => [x, ...vs]));

JavaScript:
console.table(permutaion(['B', 'G', 'T']))

Kod:
┌─────────┬─────┬─────┬─────┐
│ (index) │  0  │  1  │  2  │
├─────────┼─────┼─────┼─────┤
│    0    │ 'B' │ 'G' │ 'T' │
│    1    │ 'B' │ 'T' │ 'G' │
│    2    │ 'G' │ 'B' │ 'T' │
│    3    │ 'G' │ 'T' │ 'B' │
│    4    │ 'T' │ 'B' │ 'G' │
│    5    │ 'T' │ 'G' │ 'B' │
└─────────┴─────┴─────┴─────┘

Fark ettiyseniz ilk 2 sütun aslında istediğimiz çıktı.

JavaScript:
const selectColumn = (xs, n) => xs.map(row => row.slice(0, n));

Matrix üzerinden column seçmek için basit yine "tek" satırlık bir fonksiyon işimizi fazlasıyla görecektir.

JavaScript:
console.table(selectColumn(permutaion(['B', 'G', 'T']), 2))

Kod:
┌─────────┬─────┬─────┐
│ (index) │  0  │  1  │
├─────────┼─────┼─────┤
│    0    │ 'B' │ 'G' │
│    1    │ 'B' │ 'T' │
│    2    │ 'G' │ 'B' │
│    3    │ 'G' │ 'T' │
│    4    │ 'T' │ 'B' │
│    5    │ 'T' │ 'G' │
└─────────┴─────┴─────┘

Tablo olarak değil de doğrudan String olarak birleştirmek isterseniz de her satırı join edip return edebilirsiniz.

JavaScript:
const rowJoin = (xs) => xs.map(row => row.join(''));

JavaScript:
console.log(rowJoin(selectColumn(permutaion(['B', 'G', 'T']), 2)))

Kod:
[ 'BG', 'BT', 'GB', 'GT', 'TB', 'TG' ]

Bu kadar basit.
 
Bana da lazim.
Hocamiz odevi C++ istedigi icin bana hazir C++ kodu lazim.
Eliniz degmisken kodu da suraya submit ederseniz, copy paste yorucu olabiliyor -> t.ly/xzLR
 
O kısmı da bence size kalsın .
Js hiç yok bende ama deneyelim bakalım teşekkür ederim..

Bu kodu js de nasıl çalıştırabilirim ?
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…