Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4171
Cevap
168123
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (19. sayfa)
B
13 yıl
Teğmen

merhaba arkadaslar.
asagidaki inline fonksiyonu birisi aciklayabilir mi?

inline const char * GetBookingData::getBookingDate() const 
{
return (*m_bookingDate) ? m_bookingDate : parseBookingDate();
};


özellikle return (*m_bookingDate) ? m_bookingDate : parseBookingDate(); ifadesini anlamadim...


Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: beterman

merhaba arkadaslar.
asagidaki inline fonksiyonu birisi aciklayabilir mi?

inline const char * GetBookingData::getBookingDate() const 
{
return (*m_bookingDate) ? m_bookingDate : parseBookingDate();
};


özellikle return (*m_bookingDate) ? m_bookingDate : parseBookingDate(); ifadesini anlamadim...

İnline fonksiyonlar programın daha düzenli,hızlı çalışmasını sağlarlar. Tek dezavantajı boyutu arttırmasıdır.. O da abartılacak kadar değil.

return (*m_bookingDate) ? m_bookingDate : parseBookingDate(); kısmında operatör kullanılmış. ?:(ternary operatörü) Operatörü. İf'in yaptığı görevi yapar

Bu operatör şu şekilde kullanılır
koşul ? doğru_ise : yanlış_ise


Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Kırmızı Pervane

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: Kırmızı Pervane

Benim de bir sorum var c ++ için.

Elimizde dynamic bir array var. Bu arraydan bir elemanı silmek istiyorum. Bunu delete komutunu kullanarak nasıl yapıcam ?

Aklımda şöyle bir yol var: geçici bir dynamic array açıp o elemana kadar kopyalamak, o elemanı pas geçmek ve geri kalanını kopyalamaya devam etmek. Yani 2 tane for kullanarak. Başka ve kısa yolu yok mudur bunun?

Şu şekilde yapılabiliyor diye hatırlıyorum. Ama normal dizilerde olmuyor. Normal dizilerde arkadaşların dediklerini kullanabilirsin.

Örneğin ;

string *kullanıcı_adi[50];
......
.......
delete kullanici_adi[kullanıcıdan alınan değer veya silmek istediğin değer];

ya da internette görmüştüm diyelim baştaki elemanı silmek istiyorsun, diyelim elimizde ABC olsun.
Şimdi A'yı silmek istiyorsun. Şöyle bir yöntem izleyebilirsin. Normalde A B C 'de A silinince Yeni hali B C şeklinde olacak. Bu olurken şu işlemi gerçekleştirebilirsin, B C C yap. Yani B'yi sola taşı, C'yi sola taşı. Ardından sondan C'yi sil. Bu şeiklde çıktı B C verecek ve A silinmiş olacak.

Hocam delete list[index] tarzı yazınca hata veriyor.

Dediğim gibi biraz karışık. Anlatmaya kalksam iyice karışacak. En iyisi arkadaşların dediği vektör yöntemini dene.
Bu arada silmek istediğin değer sayı mı char mı string mi ?


Bu mesaja 1 cevap geldi.
B
13 yıl
Teğmen

quote:

Orijinalden alıntı: £XE

İnline fonksiyonlar programın daha düzenli,hızlı çalışmasını sağlarlar. Tek dezavantajı boyutu arttırmasıdır.. O da abartılacak kadar değil.

return (*m_bookingDate) ? m_bookingDate : parseBookingDate(); kısmında operatör kullanılmış. ?:(ternary operatörü) Operatörü. İf'in yaptığı görevi yapar

Bu operatör şu şekilde kullanılır
koşul ? doğru_ise : yanlış_ise

inline fonksiyonu anladim.tesekkürler
?:(ternary operatörü) de biliyordum fakat buradaki kosulu (*m_bookingDate) anlamadim. Bu nasil bir kosul ve kosul yanlis ise parseBookingDate() fonksiyonu cagrilcak fakat dogru ise m_bookingDate ile ne yapilmak isteniyor anlamadim


Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

Kodun tamamını görmeden pek birşey diyemem. Fonksiyonların içeriğine göre hareket ediyor.



K
13 yıl
Binbaşı

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: Kırmızı Pervane

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: Kırmızı Pervane

Benim de bir sorum var c ++ için.

Elimizde dynamic bir array var. Bu arraydan bir elemanı silmek istiyorum. Bunu delete komutunu kullanarak nasıl yapıcam ?

Aklımda şöyle bir yol var: geçici bir dynamic array açıp o elemana kadar kopyalamak, o elemanı pas geçmek ve geri kalanını kopyalamaya devam etmek. Yani 2 tane for kullanarak. Başka ve kısa yolu yok mudur bunun?

Şu şekilde yapılabiliyor diye hatırlıyorum. Ama normal dizilerde olmuyor. Normal dizilerde arkadaşların dediklerini kullanabilirsin.

Örneğin ;

string *kullanıcı_adi[50];
......
.......
delete kullanici_adi[kullanıcıdan alınan değer veya silmek istediğin değer];

ya da internette görmüştüm diyelim baştaki elemanı silmek istiyorsun, diyelim elimizde ABC olsun.
Şimdi A'yı silmek istiyorsun. Şöyle bir yöntem izleyebilirsin. Normalde A B C 'de A silinince Yeni hali B C şeklinde olacak. Bu olurken şu işlemi gerçekleştirebilirsin, B C C yap. Yani B'yi sola taşı, C'yi sola taşı. Ardından sondan C'yi sil. Bu şeiklde çıktı B C verecek ve A silinmiş olacak.

Hocam delete list[index] tarzı yazınca hata veriyor.

Dediğim gibi biraz karışık. Anlatmaya kalksam iyice karışacak. En iyisi arkadaşların dediği vektör yöntemini dene.
Bu arada silmek istediğin değer sayı mı char mı string mi ?

Ben açıkçası pointerlarla yapmaya çalışıyorum, bu durumu daha iyi anlayabilmek için.
Silmek istediğim şeyde kendi yarattığım Kisi objesi.


Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Kırmızı Pervane

Kişi objesi derken, string mi girilecek değer olarak ?


Bu mesaja 1 cevap geldi.
K
13 yıl
Binbaşı

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: Kırmızı Pervane

Kişi objesi derken, string mi girilecek değer olarak ?

Hem string'i var hem de int'ı var class'ın özelliği olarak.


Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Kırmızı Pervane

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: Kırmızı Pervane

Kişi objesi derken, string mi girilecek değer olarak ?

Hem string'i var hem de int'ı var class'ın özelliği olarak.

string'den silmek için şu yolu uygula.

atıyorum kişi sayısı 15 olacak maximum. Her bir kişiye numara ver.
1-Ahmet
2-Ayşe
3-Mehmet
4-Veli
.
.
.
Gibisinden. Ardından silmek için fonksiyon oluştur.. Silinecek numarayı girsinler. delete kullanici[girilendeger]; ile sil. Birde sayac koy. Silme işlemi gerçekleşince sayac1--; mesela bunu da yazmayı unutma. İşe yaraması gerekir.



R
13 yıl
Er

Exe hocam hayırlı işler

geçenlerde .wav dosyalarırını binary kodlara nasıl çevireblirim diye soru sormuştum size. bi kaç örnekler vermiştiniz tekrar teşekkür ederim.

ben internette wave2bin diye bi program buldum tam işimi görücek bi program fakat 8 bit olan wav dosyalarını okuyor 4 bitlerde hata veriyor bunu nasıl 4 bit yapabilirim bilgi verebilirmisiniz.

renk grafik

< Resime gitmek için tıklayın >


Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: renkgrafik


Teşekkürler..
Bilemiyorum. Eğer programla oynarsak hepten bozabiliriz. Size gönderdiğim kodlardan işinizi halletmeye çalışsanız daha iyi olur. Veya programın kaynak kodlarını bulabilirseniz, hangi dille yazılmışsa ona göre derleyici indirip kendiniz geliştirebilirsiniz.


Bu mesaja 1 cevap geldi.
R
13 yıl
Er

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: renkgrafik


Teşekkürler..
Bilemiyorum. Eğer programla oynarsak hepten bozabiliriz. Size gönderdiğim kodlardan işinizi halletmeye çalışsanız daha iyi olur. Veya programın kaynak kodlarını bulabilirseniz, hangi dille yazılmışsa ona göre derleyici indirip kendiniz geliştirebilirsiniz.

tekrar teşekkür ederim hocam hayırlı işler


Bu mesaja 1 cevap geldi.
K
13 yıl
Binbaşı

Sağolun, ben en iyisi vector'e dönüyüm, pointerla uzuyor iş.


Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

Aslında pointer'da da mantık basit ama dediğim gibi sıkıntı çıkarma ihtimali yüksek.


Bu mesaja 1 cevap geldi.
S
13 yıl
Binbaşı

Bir tablo yapmam gerekiyor ama tablodaki değerler farklı döngüler de hesaplanacak , bu yüzden yan yana yazdıramıyorum bunun bir yolu var mı ? Yani mesela 1den 100 e kadar sayılar alt alta yazdırılacak , farklı bir hesaplama yapılıp bu sayıların karşılarına farklı değerler yazdırılacak. Yani kısaca 100 e kadar yazdırdıktan sonra ilk satıra yeniden gelebilmeyi istiyorum bu nasıl yapılır?


Bu mesaja 2 cevap geldi.
S
13 yıl
Binbaşı

Pi sayısını pi=4-(4/3)+(4/5)+(4/7)+(4/9)-(4/11)+....... diye giden formülden bulmamı istiyor kitap kodumun doğru olması lazım ama 3.14 e doğru yaklaşmıyor , 3 de kalıyor nedeni ne ?


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

int main()
{
int sayac1=3,a=1,bolucu=1,sayac2=1;
double toplam=0,bolum,bolum1=0;

while(1){
bolucu=bolucu+2;
sayac1++;
sayac2++;

bolum=4/bolucu;
if(sayac1%4==0)
{bolum=bolum*-1;}

bolum1=bolum1+bolum;

toplam=bolum1+4;
printf("%f\n",toplam);

}

system("PAUSE");
return 0;
}


Bu mesaja 2 cevap geldi.
V
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: strahd_von_zarovich

Pi sayısını pi=4-(4/3)+(4/5)+(4/7)+(4/9)-(4/11)+....... diye giden formülden bulmamı istiyor kitap kodumun doğru olması lazım ama 3.14 e doğru yaklaşmıyor , 3 de kalıyor nedeni ne ?


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

int main()
{
int sayac1=3,a=1,bolucu=1,sayac2=1;
double toplam=0,bolum,bolum1=0;

while(1){
bolucu=bolucu+2;
sayac1++;
sayac2++;

bolum=4/bolucu;
if(sayac1%4==0)
{bolum=bolum*-1;}

bolum1=bolum1+bolum;

toplam=bolum1+4;
printf("%f\n",toplam);

}

system("PAUSE");
return 0;
}


int yerine float dene


Bu mesaja 1 cevap geldi.
S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: bytecode3

quote:

Orijinalden alıntı: strahd_von_zarovich

Pi sayısını pi=4-(4/3)+(4/5)+(4/7)+(4/9)-(4/11)+....... diye giden formülden bulmamı istiyor kitap kodumun doğru olması lazım ama 3.14 e doğru yaklaşmıyor , 3 de kalıyor nedeni ne ?


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

int main()
{
int sayac1=3,a=1,bolucu=1,sayac2=1;
double toplam=0,bolum,bolum1=0;

while(1){
bolucu=bolucu+2;
sayac1++;
sayac2++;

bolum=4/bolucu;
if(sayac1%4==0)
{bolum=bolum*-1;}

bolum1=bolum1+bolum;

toplam=bolum1+4;
printf("%f\n",toplam);

}

system("PAUSE");
return 0;
}


int yerine float dene

int de mod alınan sayac1 var onu int de bırakıp diğerlerini float yapsam bile sapıtıyor , sürekli artmaya başlıyor.


Bu mesaja 1 cevap geldi.
S
13 yıl
Binbaşı

Kenarları her biri 500 den büyük olmayacak bütün dik üçgenleri yazdırmaya çalıştım ama 3 4 5 gibi küçük yerleri yazdırmıyor. Aynı sınırları 50 ye çektiğimde ise yazdırıyor , nası mümkün olur bu ?


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

int main()
{
int a,b,c;

for(a=1;a<=500;a++){
for(b=1;b<=500;b++){
for(c=1;c<=500;c++){
if((a*a==b*b+c*c)||(b*b==c*c+a*a)||(c*c==b*b+a*a))
printf("%d %d %d\n",a,b,c);


}}}
system("PAUSE");
return 0;
}


Bu mesaja 1 cevap geldi.
T
13 yıl
Yüzbaşı

Kodun mesela c yi 4 e kadar artırıyor. Sonra for u bitirip b yi 2 yapıyor ancak c yi 4 ten devam ettirip 5 yapıyor. Sorunun kaynağı burdan başlıyor. Gerisini sen halledebilirsin sanırım.

Edit: Halledemezsin sorun çok daha büyük . Nasıl halledilir bende bilmiyom valla Uğraşıyorum halledersem atarım kodu.





< Bu mesaj bu kişi tarafından değiştirildi TeaTone -- 12 Eylül 2012; 12:00:08 >
Bu mesaja 1 cevap geldi.