Evet işime yaradı.; burada whre koşulu naısl saglayabilirim peki...
tam aradıgım b ıeşleştirme.. şu an lazım olan ise;
Dizideki her elemanın depertman kodu var.
*Ali:34*
*Hasan:34*
*Mehmet:30*
*Hüseyin:20*
*Akın:49*
*Fırat:47*
*Murat:58*
*Halil:65*
*Veli:45*
*Turan:49*
*Burak:34*
*Birol:20*
*Aktan:18*
*Şeyhmus:32*
*Salih:70*
*Sinan:62*
Bu eşleştirmeyı yaparken aynı il kodu olanları eşleştirmemeye
calısabilirmiyiz. Yani
<?php
$dizi = array("Ali", "Hasan", "Mehmet", "Hüseyin", "Akın", "Fırat", "Murat",
"Halil", "Veli", "Turan", "Burak", "Birol",
"Fatih","Aktan","Şeyhmus","Salih","Sinan");
$say=(*count*($dizi)+1)/2;
$sayac=1;
for ($i=1;$i<$say;$i++) {
$cift = *array_rand(*$dizi, 2);
echo $dizi[$cift[0]]." ".$dizi[$cift[1]]." ile eslesti.<br />";
unset($dizi[$cift[0]]); unset($dizi[$cift[1]]);
$sayac++;
}
*sort*($dizi);
echo $dizi[0]." tur atladı.";
?>
*Ekran Çıktısı:*
1-Halil Burak ile eslesti.
2-Fırat Şeyhmus ile eslesti.
3-Hasan Akın ile eslesti.
4-Murat Veli ile eslesti.
5-Mehmet Birol ile eslesti.
6-Ali Salih ile eslesti.
7-Hüseyin Fatih ile eslesti.
8-Turan Aktan ile eslesti.
9-Sinan tur atladı.
herbirine bi id vermeliyiz..
Burda:
Ali ile Hasanı Eşleştirmemeliyiz. birim depertman kodu 34 cunku
Akın İle Turanın Eşleştirmemeye calsımalıyz. deprtman kodu: 49
tüm eşleştirmeyi yaparkende; ustekı gıbı 9 eşleşme olanyerde; herhangi bir
eşleşmede olan; grubda aynı deprtman kodu olan; varsa bunları bırbırıen en
uzak sekılde nasıl sıralarım..
Mesela
4-Murat Veli ile eslesti.
5-Mehmet Birol ile eslesti.
Murat İle birol aynı departman da ise;
4 ve 5. sıraya pespeşe gelmemeini sağlayabılırmıyım.
yani bu eşleşme olabilir ama bırı 1. dieri 8. sırada birbirine maximum
uzagaatmak seklinde.
Yani..
bu kısmıda çözersem cok tşk ederim. sanırı mçok şey ıstedım.
Saygılar.
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama