Arama butonu
Bu konudaki kullanıcılar: 3 misafir, 1 mobil kullanıcı
4171
Cevap
168058
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (196. sayfa)
A
10 yıl
Binbaşı

quote:

Orijinalden alıntı: RandomT


quote:

Orijinalden alıntı: mementopolis

Kullanicidan 2 sayi girmesini isteyin. Bu sayilarin tek mi cift mi oldugunu bulun.
Eger ikisi de tek ise "ikisi de tek", eger ikiside cift ise " ikiside cift" , eger birisi cift birisi tek ise "farkli sonuc" ifadelerini yazsin.

Not : if yapisi kullanmayin.

---- Ben cözemedim ya :).

Switch yapisiyla dene.
switch((a & 2) + (b & 2))
{
case 0: //ikiside cift
break;
case 1: //farkli sonuc
break;
case 2: //ikiside tek
break;

}

A&1 + B&1 OLMAYACAK MI?

SWITCH DE YASAKSA 2D BİR ARRAY AÇARSIN

ARRAY[0] ="İKİ ÇİFT"
ARRAY[1] = "FARKLI"
ARRAY[2] = "İKİ TEK"

printf("%s", ARRAY[A&1 + B&1]);

YAPARSIN Kİ EN MAKULU BU GÖZÜKÜYOR TERNARY ZATEN IF ELSE İLE AYNI ŞEY KEZA SWITCH DE.





< Bu mesaj bu kişi tarafından değiştirildi affiliation -- 10 Ağustos 2015; 1:11:39 >

< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
M
10 yıl
Yarbay

Tessekürler Herkese :)




@affiliation

@RandomT




Bu mesajda bahsedilenler: @affiliation , @RandomT
H
10 yıl
Yüzbaşı

c#' da oledb kütüphanesi ile excelle bağlantı kuruyorum veri çekebiliyorum veri ekleyebiliyorum veri güncelleyebiliyorum ama silme işlemini bir türlü yapamadım , bir sitede gördüğüm bilgiye göre oledb ile silme işlemi yapılmıyormuş , doğruluğu nedir ?



G
10 yıl
Binbaşı

#include<stdio.h>
int main( void )
{
float ilk_sayi;
float ikinci_sayi;
float carpim;
printf("ilk sayıyı giriniz>");
scanf("%f",&ilk_sayi);
printf("ikinci sayıyı giriniz>");
scanf("%f",&ikinci_sayi);
carpim = ilk_sayi*ikinci_sayi;
printf("çarpımın sonucu= %f\n", carpim);
return 0;
}


Şöyle bir kod yazdım. Daha yeni öğreniyorum. Sorum şu: Scan fonksiyonunun işlevini tam anlayamadım. Neden sayı giriniz dediğim yere girebiliyoruz sayıyı. Yani "sayı giriniz" yazsam ve sayı ile giriniz arasına sayı girilmesi için ne yapmam lazım?



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
S
10 yıl
Çavuş

(int x için)
printf("sayi\n");
scanf("%d",&x);
printf("giriniz");
----------------------
5 değeri girildiği farz edilir.ÇIKTI:
sayi
5giriniz


Dipçe:Scanf fonksiyonunun detayını pointers konusunda bulabilirsiniz.




Bu mesajda bahsedilenler: @muvensa
S
10 yıl
Çavuş

Hocam rica ediyorum aşağıdaki soruları yanıtlar mısınız ?

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

void main ([b]int argc, char *argv[][/b])//Mainde bu argümanlar da nedir ?
{
FILE *fp1;
char cd1;
int id1 = 0;

if ([b]argc != 3[/b]) {//Burada argc'nin görevi nedir ?
printf("Kullanım : deneme <dosya adı> <harf>\n");
exit(1);
}
if ((fp1 = fopen([b]argv[1][/b], "r")) == NULL) {//Burayı hiç anlamadım.
printf("Dosya açılamadı!\n");
exit(1);
}

while ((cd1 = fgetc(fp1)) != EOF) {
if (cd1 == [b]*argv[2][/b]) {//Üsttekiyle aynı sorun.
printf("%c bulundu\n", cd1);
id1++;
}
}
printf("\nAradığınız harften dosyada %d adet bulunmaktadır.", id1);
fclose(fp1);
}


Programın açıklaması şöyle:
-Yukarıdaki örnekte, program komut satırında adını verdiğiniz dosyada, yine komut satırından girdiğiniz bir harfin mevcut olup olmadığını araştırır. Aradığınız karakter dosyada yoksa herhangi bir işlem yapmaz. Eğer varsa söz konusu karakteri her bulmasında ve son olarak ta karakterin kaç kez tekrarlandığını ekrana yazar.





< Bu mesaj bu kişi tarafından değiştirildi SemihKoca -- 15 Ağustos 2015; 1:54:57 >

G
10 yıl
Yarbay

Konsolda bir program çalıştırırken programın isminin yanında başka şeyler de yazıldığını görmüşsündür. Mesela "cp a.txt B" komutu a.txt dosyasını B klasörüne kopyalar. İşte buradaki bütün yazdıkların char* argümanı olarak main'e geçirilir.

argc kaç adet argüman geçirildiğini tutar, yazdığımız örnekte argc 3 tür (uygulamanın kendi ismi dahil). argv ise char* dizisi, yazdığın stringleri tutar. Bu örnekte argv[0] == "cp", argv[1] == "a.txt", argv[2] == "B" dir. Senin örneğinde de argv[1] aranacak dosyanın ismi, argv[2] ise aranacak karakter.

argc != 3 kontrolü aynen buradaki gibi belli sayıda argüman girişinin şart olduğu durumlarda hata kontrolü için kullanılır. Mesela sadece "cp a.txt" yazıp çalıştırsaydık argc 2 olacaktı ve hatalı giriş olduğu anlaşılacaktı.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @SemihKoca
İ
10 yıl
Onbaşı

merbaha c++ la kısa bir zamandır uğraşıyorum ve öğrenirken her adımı sindirerek öğrenmeye çalışıyorum. Sorum yapılarla ilgili çok küçük bir detay.


#include <iostream>

using namespace std;

struct id{
char *ad,*soyad;
int dogumyili;
};
int main(){
id id1,id2;

id1.ad="ilker";
id1.soyad="polat";
id1.dogumyili=1990;

cout<<id1.ad<<id1.soyad<<id1.dogumyili;

return 0;

}

burada kırmızı ile gösterdiğim yerde neden * kullanmak zorundayım.(ne işe yaradığını biliyorum).
şimdiden teşekkürler







Bu mesaja 1 cevap geldi.
B
10 yıl
Yüzbaşı

quote:

Orijinalden alıntı: ilkrplt

merbaha c++ la kısa bir zamandır uğraşıyorum ve öğrenirken her adımı sindirerek öğrenmeye çalışıyorum. Sorum yapılarla ilgili çok küçük bir detay.


#include <iostream>

using namespace std;

struct id{
char *ad,*soyad;
int dogumyili;
};
int main(){
id id1,id2;

id1.ad="ilker";
id1.soyad="polat";
id1.dogumyili=1990;

cout<<id1.ad<<id1.soyad<<id1.dogumyili;

return 0;

}

burada kırmızı ile gösterdiğim yerde neden * kullanmak zorundayım.(ne işe yaradığını biliyorum).
şimdiden teşekkürler







  

#include <iostream>
#include <string> // <--- Buraya Dikkat !

using namespace std;

struct id{

string ad; // <--- Buraya Dikkat !
string soyad; // <--- Buraya Dikkat !
int dogumyili;
};
int main(){
id id1,id2;

id1.ad="ilker";
id1.soyad="polat";
id1.dogumyili=1990;

cout<<id1.ad<<id1.soyad<<id1.dogumyili;

return 0;

}



Bu mesaja 1 cevap geldi.
İ
10 yıl
Onbaşı

quote:

Orijinalden alıntı: Buzz Lightyear

quote:

Orijinalden alıntı: ilkrplt

merbaha c++ la kısa bir zamandır uğraşıyorum ve öğrenirken her adımı sindirerek öğrenmeye çalışıyorum. Sorum yapılarla ilgili çok küçük bir detay.


#include <iostream>

using namespace std;

struct id{
char *ad,*soyad;
int dogumyili;
};
int main(){
id id1,id2;

id1.ad="ilker";
id1.soyad="polat";
id1.dogumyili=1990;

cout<<id1.ad<<id1.soyad<<id1.dogumyili;

return 0;

}

burada kırmızı ile gösterdiğim yerde neden * kullanmak zorundayım.(ne işe yaradığını biliyorum).
şimdiden teşekkürler







  

#include <iostream>
#include <string> // <--- Buraya Dikkat !

using namespace std;

struct id{

string ad; // <--- Buraya Dikkat !
string soyad; // <--- Buraya Dikkat !
int dogumyili;
};
int main(){
id id1,id2;

id1.ad="ilker";
id1.soyad="polat";
id1.dogumyili=1990;

cout<<id1.ad<<id1.soyad<<id1.dogumyili;

return 0;

}



sayende string yapısını öğrenmiş oldum teşekkür ederim ama istediğim cevap bu değildi malesef


Bu mesaja 1 cevap geldi.
B
10 yıl
Yüzbaşı

quote:

Orijinalden alıntı: ilkrplt

quote:

Orijinalden alıntı: Buzz Lightyear

quote:

Orijinalden alıntı: ilkrplt

merbaha c++ la kısa bir zamandır uğraşıyorum ve öğrenirken her adımı sindirerek öğrenmeye çalışıyorum. Sorum yapılarla ilgili çok küçük bir detay.


#include <iostream>

using namespace std;

struct id{
char *ad,*soyad;
int dogumyili;
};
int main(){
id id1,id2;

id1.ad="ilker";
id1.soyad="polat";
id1.dogumyili=1990;

cout<<id1.ad<<id1.soyad<<id1.dogumyili;

return 0;

}

burada kırmızı ile gösterdiğim yerde neden * kullanmak zorundayım.(ne işe yaradığını biliyorum).
şimdiden teşekkürler







  

#include <iostream>
#include <string> // <--- Buraya Dikkat !

using namespace std;

struct id{

string ad; // <--- Buraya Dikkat !
string soyad; // <--- Buraya Dikkat !
int dogumyili;
};
int main(){
id id1,id2;

id1.ad="ilker";
id1.soyad="polat";
id1.dogumyili=1990;

cout<<id1.ad<<id1.soyad<<id1.dogumyili;

return 0;

}



sayende string yapısını öğrenmiş oldum teşekkür ederim ama istediğim cevap bu değildi malesef

"char* ad;" ifadesi herhangi bir karakter dizisinin başlangıç adresinin değerini tutar. Bunun sayesinde ad[0], ad[1], ad[2]...ad[karaktersayisi - 1] şeklinde karakter dizisindeki her bir karaktere matematiksel tamsayı değer kullanarak ulaşılabilinir.

Yani:

char* p = "ILKER"; örneğinde 5 adet harf var:

p[0] ---> I
p[1] ---> L
p[2] ---> K
p[3] ---> E
p[4] ---> R

şeklinde ayrı ayrı harflere ulaşılabilinir.


Halbuki "char ad;" ifadesi tek başına sadece tek bir karakterlik bilgi tutar.

Fakat "char* dizi;" şeklinde kelimeleri işlemlemek C'de yapılan eski ve ilkel bir yöntem. Bunun için aynı zamanda hususi hafıza ayırma ve yoketme işlemleri külfetini de beraberinde getiriyor bu yaklaşım.
Onun yerine kelimeler, yazılar için C++ da "string" kütüphanesini kullanmak lazım. O otomatikman hafıza yönetimi işini de tabıyatıyle üstlenecektir.

Dinamik hafızayla ilgili; yeni yer ayırma ve geri verme/yok etme işlemlerini yaparken de karakter dizileri için değil de başka objeler için bunu yapın. Onu yaparken de daha öğrenmediyseniz "new" ve "delete" ve "delete []" keywordlerini kullanmak gerekir özellikle C++ da.


Bu mesaja 1 cevap geldi.
F
10 yıl
Binbaşı

Merhabalar, çok acemiyim başlangıç seviyesindeyim C öğrenmeye başladım da ufak bir sorum var, aslında konu C bile değil matematik.

double log(x) ile
double log10(x) arasında ne fark var? Aslında ikisi de ln(x) olmuyor mu? Birincisi lnx diye geçiyor diğeri logaritma 10 tabanında x diye geçiyor, ee zaten matematiksel söyleyiş anlamında aynı şey değil mi? 1 milyon (1 000 000) sayısını iki komut için de hesaplattırdım farklı sonuçlar çıkıyor. 5 çıkması gerekmiyor mu?

 

printf("1000000 sayısının dogal logaritması(ln(x))= %f\n", log(1000000));

printf("1000000 sayısının log10'u= %f", log10(1000000));



Sonuçlar sırayla; 13,81 ve 6


Bu mesaja 1 cevap geldi.
B
10 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Crymone

Merhabalar, çok acemiyim başlangıç seviyesindeyim C öğrenmeye başladım da ufak bir sorum var, aslında konu C bile değil matematik.

double log(x) ile
double log10(x) arasında ne fark var? Aslında ikisi de ln(x) olmuyor mu? Birincisi lnx diye geçiyor diğeri logaritma 10 tabanında x diye geçiyor, ee zaten matematiksel söyleyiş anlamında aynı şey değil mi? 1 milyon (1 000 000) sayısını iki komut için de hesaplattırdım farklı sonuçlar çıkıyor. 5 çıkması gerekmiyor mu?

 

printf("1000000 sayısının dogal logaritması(ln(x))= %f\n", log(1000000));

printf("1000000 sayısının log10'u= %f", log10(1000000));



Sonuçlar sırayla; 13,81 ve 6

matematiksel olarak "lnx" ifadesi "e" sayısı TABANında logaritmayı ifade eder.

C kütüphanesindeki tanımlı olan "logx" ve "lnx" fonksiyonları ise aynı şeyin 2 farklı şekilde yazılışı. Bir nevi başka şekilde ifade etmek gerekirse "LogE"dir yani. "e" sayısının değeri de yaklaşık olarak 2.718 dir.

Fakat Log10 ise "10" TABANında logaritmayı temsil eder.

Sonuçların farklı çıkması normal.



F
10 yıl
Binbaşı

@Buzz Lightyear Ah tabi ya hocam benim hatam lnx'in ne olduğunu unutmuşum logx ile aynı sandım, dikkatsizlik işte.




Bu mesajda bahsedilenler: @Buzz Lightyear
S
10 yıl
Çavuş

Aşağıdaki ifadeleri anlamadım.Özetleyebilir misiniz ?

1)Rastgele erişim genellikle ikili sistem dosyalarında kullanılır. Metin dosyalarında bu özelliğin kullanılmamasının nedeni, bu dosyalarda karakter değişimlerinin yer almasıdır. fseek() fonksiyonunu metin dosyaları ile kullanmak için daha önce ftell() fonksiyonu ile dosyanın aktif konumunu belirlemeniz ve fseek() fonksiyonunu SEEK_SET ile birlikte tanımlamanız gerekir.

2)Rasgele erişimli dosyalarda her kayıt aynı uzunluğa sahiptir ve direk olarak erişilebilir.





< Bu mesaj bu kişi tarafından değiştirildi SemihKoca -- 29 Ağustos 2015; 21:47:13 >

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

F
10 yıl
Binbaşı

Arkadaşlar ben C'de konsolda basit bir yılan oyunu yapmaya çalışıyorum bana biraz ana hatlarıyla ilgili fikir lazım yani ne tür bir giriş yapmam lazım. Şu an sadece oyunun alanını yani duvarların kapladığı alanı doğru düzgün yapabildim. Mesela yılana şekil verip nasıl boyunu ayarlayacağım? Şu anki yarım yamalak kodum bu; (sadece "alan" fonksiyonu sağlam)

 
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <string.h>

/* 1- Oyun alanını oluştur - TAMAMLANDI ---> void alan
2- Yılanın şeklini belirle
3- Yılanın başlangıç pozisyonunu random ayarla
*/
struct yilan
{
char yilanin_sekli;
int uzunluk;
char yilanin_konumu;
float yilanin_hizi;


}snake{"x",4,(3,3),1.0};

void alan()
{
int satir=40,sutun=65;
for(int i=1;i<=satir;i++)
{
for(int j=1;j<=sutun;j++)
{
if(i==1||i==satir || j==1||j==sutun)
{
printf("\333");
}
else
{
printf(" ");
}
}
printf("\n");
}
}

int main()
{ char yilaninsekli;
alan();
strcpy(snake.yilanin_sekli,"x");
printf("/s",snake.yilanin_sekli);
}






< Bu mesaj bu kişi tarafından değiştirildi Frozzy45 -- 30 Ağustos 2015; 5:22:38 >
Bu mesaja 1 cevap geldi.
O
10 yıl
Teğmen

http://fatihgol.com/yilan-oyunu-c-kodu/ umarım yardımcı olur



M
10 yıl
Teğmen

quote:

Orijinalden alıntı: FLexon


arkadaslar ödev şu şekilde yıldızlarla klavyeden boyut gireceğiz girdiğimiz kadar boyut yıldız çıkartıcak ve alt alta yazdırıcak 1 saniye aralıklarla şu şekilde ;

boyut = ? 5 girdim diyelim

*
**
***
****
*****

*
**
***
****
*****

bu yıldızlar 1 saniye aralıklarla alt alta tekrar edicek

acil yardım arkadaşlar teşekkürler .

Birincisi hangi dilde yazmak istiyorsun
Ikincisi bunu beb yapmistim bulabilirswm resmini atarim



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 2 cevap geldi.
S
10 yıl
Binbaşı

quote:

Orijinalden alıntı: msemirhan


quote:

Orijinalden alıntı: FLexon


arkadaslar ödev şu şekilde yıldızlarla klavyeden boyut gireceğiz girdiğimiz kadar boyut yıldız çıkartıcak ve alt alta yazdırıcak 1 saniye aralıklarla şu şekilde ;

boyut = ? 5 girdim diyelim

*
**
***
****
*****

*
**
***
****
*****

bu yıldızlar 1 saniye aralıklarla alt alta tekrar edicek

acil yardım arkadaşlar teşekkürler .

Birincisi hangi dilde yazmak istiyorsun
Ikincisi bunu beb yapmistim bulabilirswm resmini atarim


C# icinse kodlar boyle ben tersten yaptim sen duzeltirsin. Istenilene kadar yildiz yapmak icinde kullanicidan bir deger alir herhangi bir degiskene atar 5 yerine o degiskeni yazarsin.

quote:

Using System;

public class Test
{
public static void Main()
{



for(int i =1; i<=5; i++)
{
for(int a=5;a>=i;a--){
Console.Write("*");
}
Console.WriteLine();
}
}
}


Ilk donguyu i degiskeni 5 olana kadar arttiriyorum sonra alttaki dongudede a(5) degiskenini i'ye kadar azalriyorum.en icte ekrana yildiz yazdirdim.Forda 3 yer var for(1;2;3) seklinde ilkine sadece ilk calistiginda ugrar sonra dongu her bittiginde 1.yi atlar 2.ye gelir orda kosul var saglarsa 3.yere gecer, saglamazsa donguden cikar. Yildizi yazdim. Sonra dongu bitiminde fordaki 2.yere yani kosula geldim sagladi ayi bir azalttim(4) girdim donguye tekrar yildiz yazdim dongu bitiminde geldim kosula a degiskenim i degiskeninden halen buyuk mu? Evetse gec 3. Yere ayı bir azalt(3) gir içeri tekrar yildiz yazdim.i(1) degiskenine esit olana dek boyle ekrana yildizi bastim. Sonra a degiskeni azala azala i ye esitlendiginde ciktim donguden.sonra bir alt satira geçtim.ilk dongunun bitimine geldim. Sonra ilk dongunun koşuluna gittim i değişkeni 5 ten küçğk mü? Evetse i(1)yi bir arttır(2) gir donguye. Böyle çalışıyo sanırıö yanlışıö varsa düzeltin lütfen. Çıktı şu şekil:
*****
****
***
**
*





< Bu mesaj bu kişi tarafından değiştirildi steganography -- 13 Eylül 2015; 18:58:25 >

T
10 yıl
Çavuş

iyi günler ben acemi biri oalrak c#da stok takip sistemi yapmaya çalışıyorum yalnız bir sorunum var ben sql server kullanamıyorum pcm çok zayıf başka nasıl veri tabanı oluşturup derleyiciyle ilişkilendirebilirim :)


Bu mesaja 1 cevap geldi.