Beynimi 2 Gündür Yorduğum C++ Sorusu [Yardım]
-
Bekirella bunu yazdı
#include using namespace std; class Slave { public: int value; Slave* next; Slave* killNext(); }; Slave* Slave::killNext(){ Slave* a = next; next = next->next; return a; } int main(){ int number; cout << "How many slave ? \n"; cin >> number; Slave *head = new Slave(); head->value = 1; head->next = head; Slave *cur = head; for(int i = 2 ; i<=number;i++){ Slave *newS = new Slave(); newS->value = i; newS->next = cur->next; cur->next = newS; cur = newS; } cur = head; for(int i = 1;i<number;i++){ Slave *k = cur->killNext(); cout << cur->value << " " << k->value << " 'u oldurdu ve kilici " << cur->next->value << " ya verdi \n"; cur = cur->next; } return 0; }
ilgimi çekti yazmaya çalıştım algoritmik olarak elbet daha verimli bişeyler yazılır ama buyrun belki işinize yarar hocam
Adam linked list yazmis :)
-
NmC bunu yazdıBekirella bunu yazdı
#include using namespace std; class Slave { public: int value; Slave* next; Slave* killNext(); }; Slave* Slave::killNext(){ Slave* a = next; next = next->next; return a; } int main(){ int number; cout << "How many slave ? \n"; cin >> number; Slave *head = new Slave(); head->value = 1; head->next = head; Slave *cur = head; for(int i = 2 ; i<=number;i++){ Slave *newS = new Slave(); newS->value = i; newS->next = cur->next; cur->next = newS; cur = newS; } cur = head; for(int i = 1;i<number;i++){ Slave *k = cur->killNext(); cout << cur->value << " " << k->value << " 'u oldurdu ve kilici " << cur->next->value << " ya verdi \n"; cur = cur->next; } return 0; }
ilgimi çekti yazmaya çalıştım algoritmik olarak elbet daha verimli bişeyler yazılır ama buyrun belki işinize yarar hocam
Adam linked list yazmis :)
Hocam çok çok teşekkürler ama bunu class kullanmadanda yazabilirmiyim ben ?
Yani olabildiğince basit istiyorum. Sınırsız for ve if hakkım var.
Slave *cur komutu filan ne iş yapıyo onları hiç bilmiyorum
" -> " bu komut ne onlarıda bilmiyorum.
Olabildiğince basit olarak tekrar yazabilirmisin hocam. Bende şuanda bi formül üzerinde çalışıyorum :)
-
GodKlaus bunu yazdıNmC bunu yazdıBekirella bunu yazdı
#include using namespace std; class Slave { public: int value; Slave* next; Slave* killNext(); }; Slave* Slave::killNext(){ Slave* a = next; next = next->next; return a; } int main(){ int number; cout << "How many slave ? \n"; cin >> number; Slave *head = new Slave(); head->value = 1; head->next = head; Slave *cur = head; for(int i = 2 ; i<=number;i++){ Slave *newS = new Slave(); newS->value = i; newS->next = cur->next; cur->next = newS; cur = newS; } cur = head; for(int i = 1;i<number;i++){ Slave *k = cur->killNext(); cout << cur->value << " " << k->value << " 'u oldurdu ve kilici " << cur->next->value << " ya verdi \n"; cur = cur->next; } return 0; }
ilgimi çekti yazmaya çalıştım algoritmik olarak elbet daha verimli bişeyler yazılır ama buyrun belki işinize yarar hocam
Adam linked list yazmis :)
Hocam çok çok teşekkürler ama bunu class kullanmadanda yazabilirmiyim ben ?
Yani olabildiğince basit istiyorum. Sınırsız for ve if hakkım var.
Slave *cur komutu filan ne iş yapıyo onları hiç bilmiyorum
" -> " bu komut ne onlarıda bilmiyorum.
Olabildiğince basit olarak tekrar yazabilirmisin hocam. Bende şuanda bi formül üzerinde çalışıyorum :)
Hocam senin istediğin şey değil bu :) Arkadaşın yaptığı Linked list bir tür veri yapısı. Vektör ve Array gibi yani :) Her eleman kendisinden sonraki elemana bağlı. Öldürdüklerini aradan çıkartıyor, ölenin next'ine kendisini bağlayarak devam ediyor. Senin aradığın çözüm değil yani..
-
Hocam istediğin şey mümkün, bil istedim, yalnız kodu yazmaya üşeniyorum. Olur da kimse yazamazsa yazarım.
-
nessaj bunu yazdı
Hocam istediğin şey mümkün, bil istedim, yalnız kodu yazmaya üşeniyorum. Olur da kimse yazamazsa yazarım.
hocam yaz gözünü seveyim. 2 gündür ne oyun oynuyorum nede dışarı çıkıyorum. Sandalye kıçımın şeklini aldı. Masamın üstü kağıt çöpleriyle doldu. Lütfen hocam :)
-
Madem öyle C# ile yazdım.
var personCount = Convert.ToInt32(Console.ReadLine()); var swordIndex = 1; var incrementer = 2; for (int i = 1; i < personCount - 1; i++) { var tempIndex = swordIndex; if (swordIndex + incrementer / 2 > personCount) incrementer += 2; swordIndex = Math.Max((swordIndex + incrementer)%personCount, 1); if (tempIndex + incrementer > personCount) incrementer += 2;
Console.WriteLine(swordIndex); } Console.ReadLine(); -
nessaj bunu yazdı
Madem öyle C# ile yazdım.
var personCount = Convert.ToInt32(Console.ReadLine()); var swordIndex = 1; var incrementer = 2; for (int i = 1; i < personCount - 1; i++) { var tempIndex = swordIndex; if (swordIndex + incrementer / 2 > personCount) incrementer += 2; swordIndex = Math.Max((swordIndex + incrementer)%personCount, 1); if (tempIndex + incrementer > personCount) incrementer += 2;
Console.WriteLine(swordIndex); } Console.ReadLine();hocam kod hatalı malesef :(
bunu olduğu gibi aldım c#'a yapıştırdım sonra değer olarak 9 girdim
Sonuç 3 olmadı ama bu kod ile 7 çıkıyor
Açıklama
1 2 3 4 5 6 7 8 9
1 2yi kesti kılıç 3te
3 4ü kesti kılıç 5te
5 6 yı kesti kılıç 7de
7 8i kesti kılıç 9 da
9 1i kesti kılıç 3te
3 5i kesti kılıç 7de
7 9u kesti kılıç 3te
3 7yi kesti kılıç yine üçte
Cevap 3 olmalı
-
https://www.dropbox.com/sh/3hpakaji0y4tsfm/AAAXP0HiQ0xrm2A0pmOP4lOVa?dl=0
linkte gönderdiğim kitaptaki kod bu çalışmıyormu?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int cozum;
cozum=josephus(40,2);
printf("%d\n",cozum);
system("pause");
return 0;
}
josephus (int n, int m)
{
int i,j =0;
for (i=2; i<=n; i++)
j=(j+m)%i;
return j+1;
} -
masteryoda bunu yazdı
https://www.dropbox.com/sh/3hpakaji0y4tsfm/AAAXP0HiQ0xrm2A0pmOP4lOVa?dl=0
linkte gönderdiğim kitaptaki kod bu çalışmıyormu?
#include
#include
int main()
{
int cozum;
cozum=josephus(40,2);
printf("%d\n",cozum);
system("pause");
return 0;
}
josephus (int n, int m)
{
int i,j =0;
for (i=2; i<=n; i++)
j=(j+m)%i;
return j+1;
}adam cevabi vermis herkes bosa kurek cekiyor :)
denedim hocam ben c# da, 8,9,10 icin calisiyor..
-
unbalanced bunu yazdımasteryoda bunu yazdı
https://www.dropbox.com/sh/3hpakaji0y4tsfm/AAAXP0HiQ0xrm2A0pmOP4lOVa?dl=0
linkte gönderdiğim kitaptaki kod bu çalışmıyormu?
#include
#include
int main()
{
int cozum;
cozum=josephus(40,2);
printf("%d\n",cozum);
system("pause");
return 0;
}
josephus (int n, int m)
{
int i,j =0;
for (i=2; i<=n; i++)
j=(j+m)%i;
return j+1;
}adam cevabi vermis herkes bosa kurek cekiyor :)
denedim hocam ben c# da, 8,9,10 icin calisiyor..
Yazdıklarım kaale alınmıyor diyordum bende :) belkide kitabın sayfası çok geldi kod en son sayfadaydı o yüzden görülmedi bu tür güzel sorular ve çözüm yolları için güzel bir kitap NABIYEV 'in algoritmalar kitabı tavsiye ederim.