Arama butonu
Bu konudaki kullanıcılar: 2 misafir
4171
Cevap
168267
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (122. sayfa)
D
12 yıl
Er

merhaba, arkadaşlar. Bir ödev var c++ , ödevin adımları ve adımlarda hangi fonksiyonların çağırılacağı da belli fakat adımların içini ben dolduramıyorum yardımcı olabilecek olursa sevinirim pmden mesaj atarsanız ayrıntıları konuşuruz.


Bu mesaja 1 cevap geldi.
V
12 yıl
Onbaşı

pthread ile yapabilirsin. main içine yazdıklarını başka bir fonksiyon içine al. Fonksiyon başlığı şöyle olacak. void* fonk(void *arg)

Sonra istediğin kadar thread oluşturup her thread e başlangış değerini geçirirsin. Herbir thread bu başlangıç değerinden başlayarak thread sayısı kadar arttırarak devam eder. Böylece herbiri farklı sayıları hesaplamış olur.

Şurada bir tutorial var.http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Leprikorn
S
12 yıl
Çavuş

Arkadaşlar merhaba c++ 'da amiral battı oyunu yapıcam mantık satır ve sütün giriyosun ekranda gireceğin satır ve sütün un bulunduğu noktaya yıldız yerleştirmek.Kullanıcıdan 3 defa girmesini istedin.ilk 2 yıldızı doğru yerleştiriyor 3.yıldız ı yanlış koyuyor. Yardım edermisiniz


#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int main()
{

int i,j,k;
int gemi[100][100],a,satir[5],sutun[5];

for(a=1;a<=3;a++)
{
printf("satir gir");
scanf("%d",&satir[a]);
printf("sutun gir");
scanf("%d",&sutun[a]);
}
for(i=1;i<=5;i++)
{


for(j=1;j<=5;j++)
{

if(i==satir[j])
{


printf("*",gemi[i,sutun[j]]);


}
else
printf("1",gemi[i,j]);
}
printf("\n");
}
getchar();
getchar();
return 0;
}
Paylaş


Bu mesaja 1 cevap geldi.
E
12 yıl
Binbaşı

İyi geceler proje ödevim için yardım isteyecektim. Ödevin sonlarına geldim fakat 2 tane sorunu çözemedim yardımcı olursanız teşekkürler şimdiden. 2 sorumda fonksiyon olarak olacak ana fonksiyonda sadece işlemi çağıracağız cevap gelecek yani.

1- Çıkma olacak kullanıcıya soracağım ve çıkmak için Y basınız devam etmek için N basınız deyip y bastığında programı kapatacağım n basarsa tekrar ne yapmak istediğini soracağım.
2- Bunda ise kullanıcıdan bir kelime veya sayı isteyeceğim ve istediğim bu sayı veya kelimeyi tersten yazdıracağım (donanımhaber - rebahmınanod) gibi. Bunun içinde bir kod buldum netten fakat fonksiyon olarak ayarlayamadım normal yazdım mı çalışıyor ama dışarıda yazdırıp ana fonksiyonuma çağıramadım. Bu ikide ki bulduğum kodlarda şu şekilde


#include<stdio.h>
void main(void)
{
int karakter;
if((karakter=getchar())!='\n')
main();

printf("%s",&karakter);

}


Bu mesaja 1 cevap geldi.
L
12 yıl
Teğmen

Teşekkürler. Üzerinde uğraşıyorum şu an olacak gibi duruyor.



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @Vandenesse
T
12 yıl
Yarbay

quote:

Orijinalden alıntı: Leprikorn

Gmp kütüphanesi ile mersenne asallarını bulan program yazmam istendi. Programı yaptım çalışıyor fakat daha hızlı çalışması için programı threadlara bölmek istiyorum. Biraz araştırdım ama fazla bi şey bulamadım. Yardımcı olabilir misiniz veya konu ile link atabilir misiniz. Program kodu aşağıda.
Gist linki:https://gist.github.com/osmnylmz/7850993
 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <gmp.h>

int main()
{
mpz_t taban, sonuc,bir,g_us,sonuc1;
int asalmi1,asalmi2;
unsigned long int us;
unsigned long int i;
mpz_init(taban);
mpz_init(sonuc);
mpz_init(sonuc1);
mpz_init(g_us);
mpz_init(bir);

mpz_set_ui(bir,1);

gmp_printf("Tabanı giriniz. \n");
gmp_scanf("%Zd", taban);

gmp_printf("Ussu giriniz. \n");
gmp_scanf("%ld", &us);

for (i=1;i<us;i++){
mpz_set_ui(g_us,i);
asalmi1= mpz_probab_prime_p(g_us,10);
if (asalmi1==2){
mpz_pow_ui(sonuc, taban, i);
mpz_sub(sonuc1,sonuc,bir);
asalmi2= mpz_probab_prime_p(sonuc1,10);
if((asalmi2==2)||(asalmi2==1)){
printf("%d \n",i);
gmp_printf("--%Zd\n", sonuc1);
}
}
}
mpz_clear(taban);
mpz_clear(sonuc);
mpz_clear(sonuc1);

}


48 tane mersenne asallari biliniyor. Zaten 10 taneden fazla 64 bitte gostericek kadar yazamazsiniz.
Bunlarin disinda ders amacli oldugunu guduyorum ve C gibi bir dilde platform bagimsiz multi-threaded program yazilan bir kutuphane C ile gelmiyor.



4
12 yıl
Teğmen

1-) do {
printf("Cikmak istiyormusunuz ? (Y/N)");
scanf("%c", &ch);

if (ch == 'y' || ch == 'Y')
break;

// diğer işlemler

}while(1);


2-) ...
printf("Yaziyi giriniz : ");
gets(str);

void disprev(const char *str)
{
int i;
int len = strlen(str);

for (i = len - 1; i >= 0; i--)
printf("%c", str [ i ]); //forumda bi gariplik var [ i ] boşluksuz yazılmıyor.

}





< Bu mesaj bu kişi tarafından değiştirildi 4kalan -- 9 Aralık 2013; 12:00:08 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @El nino9
M
12 yıl
Er

quote:

Orijinalden alıntı: -Source-

quote:

Orijinalden alıntı: m3RsiN´´

Arkadaslar ben su anda yurd disinda okuyorum ve grafik programlama dersinden donem odevi aldim. Benden istenilen

C++ ta basit bir kus cizip bu kus u ekranda capraz sekilde sag ust koseden sol atl koseye dogru gidip gelmesi..

Yardimci olabilcek arkadaslar bi yonlendirme yaparsa sevinirm cunku anlayamiyorum dersleri ve nasil yapicagim konusunda bi fikrim yok...

Grafik programlama için hangi api kullanıyorsunuz OpenGL mi? Direct3D mi?
Kuş 2d sprite mı olacak yoksa 3d model mi?

Soru sorarken lütfen tüm ayrıntıları yazın tekrar sormak zorunda kalmayalım. Burada soru soranların çoğu aynı şeyi yapıyor yarım yamalak soru sorup cevap bekliyorlar.

Devv C grafik kutuphanesi ile yaziyoruz 2d olucak OpenGL Kusuruma bakmayin ilk kez bi soru soruyorum.. Tekrar tesekkurler


Bu mesaja 2 cevap geldi.
L
12 yıl
Teğmen

Normalde dediğiniz doğru ama zaten bu sebepten dolayı gmp.h kütüphanesi kullandım ve ilk 22 mersenne sayısını tam olarak gösteriyor. Bu sayıları bulması 7 dakika civarı sürüyor. Pthread kullanarak daha kısa bir zamanda bu sayıları bulmaya çalıyorum bu gün bitirirsem paylaşırım kodu.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @ThisisaNightmare
W
12 yıl
Binbaşı

quote:

Orijinalden alıntı: 24

Arkadaşlar öncelikle herkese kolay gelsin.

Bir projem var ve bir yerde takıldım. Bir cafedeki masa kontrol(hangi masa ne almış -kola,tost gibi- kaç para hesap ödiycek) sistemini yazıyorum. Programımda her masa bir buton ve üstüne tıklanınca bir form açılıp neler alınmış ve hesap tutarı ne kadar gibi bilgiler gözüküyor.

Sorun şurda; ben masa sayısını dinamik yapmak istiyorum. Yönetim panelinden masa sayısına 20 yazılınca 20 tane masa(buton) ekliycek (burdada sıkıntı yok.) ama eklediği butonlara tıklanınca bir form açılmasını ve açılan formda gerekli özelliklerin olmasını nasıl sağlarım?

Yardım edenlere şimdiden teşekkür ederim.

C# ve SQL Server 2008 kullanmaktayım.

Bir tane masa için form tasarla, ne aldığını artık listboxla mı gösterirsin ne yaparsan ayarla. Daha sonra bu forma bir tane masa değişkeni tanımla (umarım bu dediklerimi anlıyorsundur, forma tanımla derken, formun kod alanı içerisinde). Daha sonra bu bahsettiğin buttona tıklatıldğında şöyle birşey yapacaksın;
MasaFormu masaFormu = new MasaFormu();
masaFormu.Masa = buttondanGelenMasa;//Buttonun hangi masayı temsil ettiğini ayarlamak sana kalmış onun için de birkaç yöntem var. *1
masaFormu.ShowDialog();//ShowDialog ve Show arasındaki fark, ShowDialog ile açtığın bir pencere kapatılmadan program devam etmez, yani mesela;
//BURAYA BİR KOD YAZSAYDIM, masaFormunu kapatana kadar bu kod işlenmezdi.

*1 -> Bir buttonun temsil ettiği masayı şu şekillerde bulabilirsin;
-Buttonların bir array ise (Zaten array olmama şansı yok senin durumunda, çok zorlanırsın), bütün arrayi bir click metoduna gönder. Click metoduna sender parametre gelir, bu direk olarak senin butonundur. Array'inde bu sender'ın indexini bul. Şöyle;

masaButtonlarim.IndexOf(sender);

Bu indexe denk düşen masa ile formu aç;

int index = masaButtonlarim.IndexOf(sender);
MasaFormu masaFormu = new MasaFormu(); //Bu satır ve alttaki üç satır kodu yazmak yerine, masaformunda bir metod da oluşturabilirsin *2)
masaFormu.Masa = masalar[index];
masaFormu.ShowDialog();

*2 -> MasaFormunda oluşturulacak metod;

public static void Goster(Masa masa)
{
MasaFormu mf = new MasaFormu();
mf.masa = masa;
mf.ShowDialog();
}

Bu metodun kullanım şekli; (Ana formdan)

MasaFormu.Goster(masalar[index]);

Hatta bir başka ayrıntı da, masa formunda masa ile ilgili bir değişiklik yapılacaksak bunu bir metod değil bir fonksiyon da yapabilirsin. O halde Formdaki fonksiyon şu şekilde olurdu;

public static Masa Goster_Duzenle(Masa masa)
{
MasaFormu mf = new MasaFormu();
mf.masa = masa;
mf.ShowDialog();
return mf.masa;
}


ANA FORM'dan kullanımı;

//indexlemeyi yaptığımızı varsayalım;
masalar[index] = MasaFormu.Goster_Duzenle(masalar[index]);



Masa Formunda Görüntüleme ve Düzenleme

Masa Formunda masa değişkenini tanımladığımıza ve ShowDialog'dan önce bir değer atadığımıza göre, masa formunun load event'inde formumuzun içeriğini, (textbox, label vs.) masa değişkenimize göre düzenleyebiliriz.

Düzenleme;
Masa değişkeni üzerindeki değişiklikleri anı anına yapmak yerine (Örneğin yeni bir sipariş ekleme ye bastığında değil de), MasaFormunun close eventinde yapabilirsin. Ama burada da yine bir ayrıntı var, bunun nedeni ShowDialog kullanmamız. Show kullansaydık, Ana form ile masa formundaki masa değişkeni farklı olacaktı. Tüm kodum showdialog kullanman üzerine.
Umarım açıklayıcı olmuştur, iyi çalışmalar.


Bu mesaja 1 cevap geldi.
L
12 yıl
Yüzbaşı

C de arraylere nasıl string atayabilirim ? Örneğin dizi[0]=asd gibi. Ancak ben gösterimi sayı dizisi üzerinden yapmak istiyorum. Yani dizi[0] yazdığımda "asd" çıktısı gözüksün. Asıl amacım sayı dizisini sıralamak ve bu sıralamaya göre stringleri göstermek. Mesela dizi[0] > dizi[2] > dizi[1] ise asd > bsd > csd gözüksün. C'de string de char dizisi olduğu için işin içinden çıkamadım sadece bubble sorting ile sayı dizisini sıralayabildim. Yardımcı olursanız sevinirim.





< Bu mesaj bu kişi tarafından değiştirildi LoRd1N -- 9 Aralık 2013; 16:21:46 >

T
12 yıl
Yarbay

quote:

Orijinalden alıntı: Leprikorn

Normalde dediğiniz doğru ama zaten bu sebepten dolayı gmp.h kütüphanesi kullandım ve ilk 22 mersenne sayısını tam olarak gösteriyor. Bu sayıları bulması 7 dakika civarı sürüyor. Pthread kullanarak daha kısa bir zamanda bu sayıları bulmaya çalıyorum bu gün bitirirsem paylaşırım kodu.

Pthread bir POSIX standardi, Cygwin disindia windowsta calismaz. O yuzden dikkatli olun boyle akademik calismalarda. Eger yaptiginiz sey birisi tarafindan notlandirilcaksa o kiside unix tabanli bir sistem oldugundan emin olunuz.



L
12 yıl
Teğmen

Ben MINGW ile çalıştırabildim bu kütüphaneleri. Cygwin de denedim ama yapamamıştım onunla. Uyarınız için teşekkürler. Yazdığım kod bir ödev için, ödevi de hocaya kendi bilgisayarımız üzerinde sunuyoruz.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @ThisisaNightmare
T
12 yıl
Yarbay

quote:

Orijinalden alıntı: Leprikorn

Ben MINGW ile çalıştırabildim bu kütüphaneleri. Cygwin de denedim ama yapamamıştım onunla. Uyarınız için teşekkürler. Yazdığım kod bir ödev için, ödevi de hocaya kendi bilgisayarımız üzerinde sunuyoruz.

MiniGW pthread i desteklemiyor windowsta nasil calistirabildiniz anlamadim ben.

Kendi bilgisayardan sunuluyorsa sorun yok o zaman.



E
12 yıl
Binbaşı

Yazmayı unutmuşum ikinci soruda array kullanılmayacak sadece recursion fonksiyonla olacak.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @4kalan
N
12 yıl
Çavuş

Herkese iyi çalışmalar, satranc yapmaya çalışıyorum ve kodun başlarında bi sorunlar karşılaştım umarım yardımcı olabilirsiniz.
İnitialize deyip *board[8]'ı fonksiyona soktuğumda fonksiyon işlevini yerine getiriyor fakat fonksiyon biter bitmez gönderme hatası alıyorm ve program kapanıyor. Codeblocks'da ve devc++ da denedim aynı sonucu aldım. Kodda bi yanlışlık var mı bi göz atabilirseniz sevinirim.


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void initialize(char *[]);
void showmoves (char []);
int main()
{
char move[5];
char initialize1[11];
char showmoves1[10];
char firstlocation[3];
char lastlocation[3];
char x1[24]={'R','1',' ','N','1',' ','B','1',' ','Q','U',' ','K','I',' ','B','2',' ','N','2',' ','R','2','\0'};
char x2[24]={'P','1',' ','P','2',' ','P','3',' ','P','4',' ','P','5',' ','P','6',' ','P','7',' ','P','8','\0'};
char x3[24]={' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','\0'};
char x4[24]={' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','\0'};
char x5[24]={' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','\0'};
char x6[24]={' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','\0'};
char x7[24]={'p','1',' ','p','2',' ','p','3',' ','p','4',' ','p','5',' ','p','6',' ','p','7',' ','p','8','\0'};
char x8[24]={'r','1',' ','n','1',' ','b','1',' ','q','u',' ','k','i',' ','b','2',' ','n','2',' ','r','2','\0'};
char *board[8]={x1,x2,x3,x4,x5,x6,x7,x8};

scanf("%s",initialize1);
if(strcmp("initialize",initialize1)==0)
initialize(board);
else
printf("Failed!\n");

scanf("%s%s",showmoves1,firstlocation);
if(strcmp("showmoves",showmoves1)==0)
showmoves(firstlocation);
else
printf("Failed!\n");

return 0;
}

void initialize(char *a[]){
int i;
for(i=0; i<9; i++)
printf("%s\n",*(a+i));

}
void showmoves(char a[]){
if (strcmp("a2",a)==0)
printf("\na3");


}



T
12 yıl
Yarbay

quote:

Orijinalden alıntı: El nino9

Yazmayı unutmuşum ikinci soruda array kullanılmayacak sadece recursion fonksiyonla olacak.


Arraysiz veya pointersiz bu soruyu C de cozmek imkansiz. Cunku C de string denilen bir kavram yok.

Pointerli cozum:
 
void disprev(const char *str)
{
if (*str == '\0') { return;}
disprev(str+1);
printf("%c", *str);
}

int main(void) {
char *str = malloc(100);
printf("Yaziyi giriniz : ");
fgets(str, 100, stdin);
disprev(str);
return 0;
}





< Bu mesaj bu kişi tarafından değiştirildi ThisisaNightmare -- 10 Aralık 2013; 16:16:09 >
Bu mesaja 1 cevap geldi.
S
12 yıl
Teğmen

quote:

Orijinalden alıntı: ThisisaNightmare

quote:

Orijinalden alıntı: El nino9

Yazmayı unutmuşum ikinci soruda array kullanılmayacak sadece recursion fonksiyonla olacak.


Arraysiz veya pointersiz bu soruyu C de cozmek imkansiz. Cunku C de string denilen bir kavram yok.

Pointerli cozum:
 
void disprev(const char *str)
{
if (*str == '\0') { return;}
disprev(str+1);
printf("%c", *str);
}

int main(void) {
char *str = malloc(100);
printf("Yaziyi giriniz : ");
fgets(str, 100, stdin);
disprev(str);
return 0;
}


recursive fonksiyon ile
 

void reverse()
{
char c;
if((c=getchar())!='\n') reverse();
if(c!='\n') putchar(c);
}
int main()
{
reverse();
}





< Bu mesaj bu kişi tarafından değiştirildi Seikatsu -- 10 Aralık 2013; 12:47:51 >
Bu mesaja 3 cevap geldi.
C
12 yıl
Er

postfix ifadesinin klavyeden girileceğini ve her sayı ve işlem arasında en az 1 boşluk karakteri olacağını varsayınız. Yazacağınız program son-takı ifadesinin hesaplanabilmesi için yığın veri modelini kullanmalı ve 500 karakter’e kadar girilen ifadeleri doğru bir şeklide hesaplayabilmelidir. Eğer girilen ifadede hata varsa, uygun hata mesajını ekranda gösterebilmelidir.



Örneğin, aşağıdaki postfix ifadesi

12 2 * 4 + 3 /



((12 * 2) + 4) / 3 şeklinde hesaplanmalıdır. Bu amaçla alınan her sayı yığına eklenmeli, bir işlem görüldüğünde yığından ilk 2 sayı alınıp, işlem hesaplanıp, sonuç tekrar yığına eklenmelidir. Eğer ekleme ve alma işlemlerinde hata olursa, uygun hata mesajları ekranda gösterilmelidir.



12 2 4 + * – şeklinde verilen bir son-takı ifadesi (12 * (2 + 4)) – şeklinde hesaplanacağından – işleminde gerekli olan ikinci sayı verilmediğinden hata mesajı verilmelidir.



Yığın yapısı için dizi ya da bağlı liste kullanılabilir.
Bu soruda kodu yazmaya çalıştım fakat pek başarılı olamadım.Yardımcı olursanız c kodu hakkında seviniirim.



T
12 yıl
Yarbay

quote:

Orijinalden alıntı: Seikatsu

quote:

Orijinalden alıntı: ThisisaNightmare

quote:

Orijinalden alıntı: El nino9

Yazmayı unutmuşum ikinci soruda array kullanılmayacak sadece recursion fonksiyonla olacak.


Arraysiz veya pointersiz bu soruyu C de cozmek imkansiz. Cunku C de string denilen bir kavram yok.

Pointerli cozum:
 
void disprev(const char *str)
{
if (*str == '\0') { return;}
disprev(str+1);
printf("%c", *str);
}

int main(void) {
char *str = malloc(100);
printf("Yaziyi giriniz : ");
fgets(str, 100, stdin);
disprev(str);
return 0;
}


recursive fonksiyon ile
 

void reverse()
{
char c;
if((c=getchar())!='\n') reverse();
if(c!='\n') putchar(c);
}
int main()
{
reverse();
}


Mantik guzelde, ben genede bir satiri okumak icin fgets kullanmayi tercih ederim.