Şimdi Ara

C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (66. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir (2 Mobil) - 1 Masaüstü2 Mobil
5 sn
4.172
Cevap
118
Favori
170.223
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
3 oy
Öne Çıkar
Sayfa: önceki 6465666768
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • quote:

    Orijinalden alıntı: -Source-

    quote:

    Orijinalden alıntı: uykusu gelen adam

    merhaba,
    Visual studio c# ta bir program yazdığımda konsolda çıktı olarak istediğim çıkıyor ancak değişiklik yaptığımda yine bir önceki program çıktısı çıkıyor.
    örneğin ekranda ahmet yazısını çıkartıyorum sonra kapatıp kodları ahmet mehmet yazacak şekilde düzenliyorum çalıştırıyorum yine ahmet çıkıyor.
    yeni proje açtığımda düzeliyor ancak yine değişiklik yaptığımda aynı çıktıyı veriyor. yardımcı olur musunuz?

    Kodu tekrar derlemen lazım.

    Kodda hata olduğunda derleyici, en son hatasız halini gösteriyor. Hata olmadığı durumlarda da yeniden derlemen gerekir. Çalıştırırken Start with debugging yap..




  • quote:

    Orijinalden alıntı: ebubekir.s

    @garui
    Lütfen yardım.
     
    #include<stdio.h>
    #include<conio.h>
    void ortalama(int dizi[][notArr], int SATIR, int notArr)
    {
    int toplam, x, y;
    float ort;
    for(x=0; x<SATIR; x++)
    for(y=0; y<notArr; y++){
    toplam=toplam+dizi[x][y];

    }
    ort=(float)toplam/(x*y);
    printf("Dizi elemanlarinin ortalamasi:%.2f", ort);
    }
    void buyuk(int dizi[][notArr], int SATIR, int notArr)
    {
    int buyuk, boyut, x, y, secim2;
    boyut=SATIR;
    int dizi2[boyut];
    for(x=0; x<SATIR; x++)
    for(y=0; y<notArr; y++){
    dizi2[x]=dizi[x][y];
    if(dizi[x][y+1]>dizi[x][y]) dizi2[x]=dizi[x][y+1];
    }
    printf("Satir elemanlarinin buyuklerinden olusturulan tek boyutlu dizi elemanlari:\n");
    for(x=0; x<SATIR; x++)
    printf("dizi2[x]=%d", dizi[x]);

    printf("3.secenegide yapmak istermisiniz(1-Evet, 2-Hayir):");
    scanf("%d", &secim2);
    if(secim2==1) ortalama2(dizi2, SATIR);
    }
    void ortalama2( int dizi2[], int SATIR)
    {
    int x, toplam;
    float ort;
    for(x=0; x<SATIR; x++)
    toplam=toplam+dizi2[x];

    ort=(float)toplam/x;
    printf("2.dizinin ortalamasi:%.2f", ort);
    }
    main(void)
    {
    int SATIR, notArr, i, j, secim;
    printf("Satir degerini giriniz:");
    scanf("%d", &SATIR);
    printf("Sutun degerini giriniz:");
    scanf("%d", ¬Arr);
    int dizi[SATIR][notArr];
    for(i=0; i<SATIR; i++)
    for(j=0; j<notArr; j++){
    printf("dizi[i][j]=");
    scanf("%d", &dizi[i][j]);
    }
    printf("Lutfen seceneklerden biriniz seciniz(1,2):");
    scanf("%d", &secim);
    if(secim==1) ortalama(dizi, SATIR, notArr);
    else if(secim==2){
    buyuk(dizi, SATIR, notArr);
    }

    getch();
    return 0;
    }


    Sorun nedir ??




  • türkçe karakteri halletmenin çok kolay bi yolu vardı nasıldı ?
  • @garui

    3 26 C:\Users\ebubekir414\Desktop\odev.cpp [Error] 'notArr' was not declared in this scope
    3 33 C:\Users\ebubekir414\Desktop\odev.cpp [Error] expected ')' before ',' token
    3 35 C:\Users\ebubekir414\Desktop\odev.cpp [Error] expected unqualified-id before 'int'


    bu hataları veriyor.



    < Bu mesaj bu kişi tarafından değiştirildi ebubekir.s -- 11 Mart 2013; 22:47:55 >
  • quote:

    Orijinalden alıntı: ebubekir.s

    @garui

    3 26 C:\Users\ebubekir414\Desktop\odev.cpp [Error] 'notArr' was not declared in this scope
    3 33 C:\Users\ebubekir414\Desktop\odev.cpp [Error] expected ')' before ',' token
    3 35 C:\Users\ebubekir414\Desktop\odev.cpp [Error] expected unqualified-id before 'int'


    bu hataları veriyor.

    void ortalama(int dizi[][notArr], int SATIR, int notArr)

    Bu sekilde fonksiyonu tanimlayamazsin.

    void ortalama(int dizi[][10], int SATIR, int notArr)

    seklinde olsa olabilirdi. Fonksiyonlara dizi copyalamak veya dizinin olagan yerini gostermek icin bir kac yontem mevcut. Bunlardan biri 2 boyutlu diziler icin double pointer kullanmak.

    Ornek:

    #include<stdio.h> 
    #include<conio.h>
    void ortalama(int**, int, int);
    void buyuk(int**, int, int);
    void ortalama2(int*, int);

    void ortalama(int** dizi, int SATIR, int notArr)
    {
    int toplam=0, x, y;
    float ort;
    for(x=0; x<SATIR; x++)
    for(y=0; y<notArr; y++){
    toplam+=dizi[x][y];

    }
    ort=((float)toplam/(float)(SATIR*notArr));
    printf("Dizi elemanlarinin ortalamasi:%.2f", ort);
    }

    int main(void)
    {
    int SATIR, notArr, i, j;
    printf("Satir degerini giriniz:");
    scanf("%d", &SATIR);
    printf("Sutun degerini giriniz:");
    scanf("%d", &notArr);
    int** dizi;
    dizi = new int*[SATIR];
    for(i=0; i<SATIR; i++){
    dizi[i] = new int[notArr];
    }

    for(i=0; i<SATIR; i++){
    for(j=0; j<notArr; j++){
    printf("dizi[%d][%d]=",i,j);
    scanf("%d", &dizi[i][j]);
    }
    }

    ortalama(dizi, SATIR, notArr);

    for (i=0; i<SATIR;i++)
    {
    delete [] dizi[i];
    }
    delete [] dizi;
    getch();
    return 0;
    }


    Kodda degisiklik yaparak baska yontemlerde kullanabilirsin.



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Mart 2013; 14:38:06 >




  • Bilgisayar Mühendisliği 1.sınıf öğrencisiyim daha c'yi yeni yeni görmeye başladık hoca if fonksiyonunu filan daha yeni yeni anlatıyor ama ben biraz ilerledim.Daha da ilerlemek istiyorum bu tür işlere ilgim var.Yaklaşık 2 aydır kod yazıyorum .Şu soruda ise takıldım yardımcı olabilir misiniz acaba ?

    Kendisine parametre olarak gönderilen boyuta  uygun kare sıfır matrisi oluşturup bu matrisi döndüren bir fonksiyon 
    ve bu fonksiyonu kullanan bir program yazınız.Bu matrisi calloc fonksiyonu ile oluşturunuz.

    alttada şunu yazmış.

    int** sifirMatrisiOlustur(int boyut);





    Benim yapmaya çalıştığım kodsa şu şekilde ve açıkçası yukarda örnek olarak verdiği fonksiyonu çift boyutlu işaretçi olarak atadığını anlamadım.
    Matris çift boyutlu, ondan yer alacak işaretçilerde çift boyutlu ama fonksiyonun çift boyutlu olmasına gerek var mı ?


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

    int sifirMatrisi(int **);

    int boyut; //global değişken olarak atadım.Parametre olarak tek tek
    int i,j; //gönderdiğimde çok fazla argüman diye hata veriyor.

    int main(){

    int** matris;

    printf("Kare matrisin boyutunu giriniz :\t");
    scanf("%d",&boyut);

    sifirMatrisi(** matris);

    getche();
    return 0;
    }

    int sifirMatrisi(int **matris){

    matris=(int**) calloc(boyut,sizeof(int)); //çift boyutlu işaretçinin içine matrisin satırbaşların için yer ayırdım ve calloc ile bunlara sıfır atadım.

    for(i=0;i<boyut;i++){
    matris[i]=(int*)calloc(boyut,sizeof(int)); //her satır için yine yer ayırdım ve calloc ile bunlara sıfır atadım.
    }

    for(i=0;i<boyut;i++){ //matrisin her satır ve sütun elemanlarını yazdırdım
    for(j=0;j<boyut;j++){
    printf("matris[%d][%d]=%d\t",i,j,matris[i][j]);
    }

    printf("\n");

    }

    for(i=0;i<boyut;i++) free(matris); //Matriste her satır için ayrılan belleği boşalttım.

    free(matris); //Matrisin satır başlarını tutan belleği boşalttım.


    return **matris; //büyük ihtimal yaptığım hatalardan biri burda.

    }




    < Bu mesaj bu kişi tarafından değiştirildi namsar29 -- 12 Mart 2013; 13:04:14 >




  • tamam çok teşekkür ederim.
    @garui
  • quote:

    Orijinalden alıntı: sarman29

    Bilgisayar Mühendisliği 1.sınıf öğrencisiyim daha c'yi yeni yeni görmeye başladık hoca if fonksiyonunu filan daha yeni yeni anlatıyor ama ben biraz ilerledim.Daha da ilerlemek istiyorum bu tür işlere ilgim var.Yaklaşık 2 aydır kod yazıyorum .Şu soruda ise takıldım yardımcı olabilir misiniz acaba ?


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

    int** sifirMatrisi(int);

    int main(){

    int boyut,i;

    int** matris;

    printf("Kare matrisin boyutunu giriniz :\t");
    scanf("%d",&boyut);

    matris = sifirMatrisi(boyut);

    printf("%s(%d) : Matris adresi alindi. Adress : %p\n", __func__, __LINE__, (void*)matris);

    for(i=0;i<boyut;i++) free(matris[i]); //Matriste her satir için ayrilan bellegi bosalttim.
    free(matris); //Matrisin satir baslarini tutan bellegi bosalttim.

    matris = 0;

    return 0;
    }

    int** sifirMatrisi(int boyut){

    int i,j;

    int** sifirM = (int**) calloc(boyut,sizeof(int)); //çift boyutlu isaretçinin içine matrisin satirbaslarin için yer ayirdim ve calloc ile bunlara sifi

    if (sifirM == NULL) {
    printf("%s(%d) : Memory blogu tahsis edilemedi !\n",__func__, __LINE__);
    exit (1);
    }
    else {
    printf("%s(%d) : Memory blogu tahsis edildi. Adress : %p\n",__func__, __LINE__, (void*)sifirM);
    }


    for(i=0;i<boyut;i++){
    sifirM[i]=(int*) calloc(boyut,sizeof(int)); //her satir için yine yer ayirdim ve calloc ile bunlara sifir atadim.
    if (sifirM[i] == NULL) {
    printf("%s(%d) : Memory blogu tahsis edilemedi !\n",__func__, __LINE__);
    for(i--;i>=0;i--) { free(sifirM[i]); }
    free(sifirM);
    printf("%s(%d) : Memory bloklari temizlendi ! (Yani umudumuz bu yonde)\n",__func__, __LINE__);
    exit (1);
    }
    else {
    printf("%s(%d) : Memory blogu tahsis edildi. Adress : %p\n", __func__, __LINE__, (void*)sifirM[i]);
    }

    }

    for(i=0;i<boyut;i++){ //matrisin her satir ve sütun elemanlarini yazdirdim
    for(j=0;j<boyut;j++){
    printf("matris[%d][%d]=%d\t",i,j,sifirM[i][j]);
    }
    printf("\n");
    }

    //for(i=0;i<boyut;i++) free(sifirM[i]); //Matriste her satir için ayrilan bellegi bosalttim.

    //free(sifirM[i]); //Matrisin satir baslarini tutan bellegi bosalttim.


    return sifirM; //büyük ihtimal yaptigim hatalardan biri burda.
    }


    Kare matrisin boyutunu giriniz :        4 
    sifirMatrisi(57) : Memory blogu tahsis edildi. Adress : 0x804a008
    sifirMatrisi(68) : Memory blogu tahsis edildi. Adress : 0x804a020
    sifirMatrisi(68) : Memory blogu tahsis edildi. Adress : 0x804a038
    sifirMatrisi(68) : Memory blogu tahsis edildi. Adress : 0x804a050
    sifirMatrisi(68) : Memory blogu tahsis edildi. Adress : 0x804a068
    matris[0][0]=0 matris[0][1]=0 matris[0][2]=0 matris[0][3]=0
    matris[1][0]=0 matris[1][1]=0 matris[1][2]=0 matris[1][3]=0
    matris[2][0]=0 matris[2][1]=0 matris[2][2]=0 matris[2][3]=0
    matris[3][0]=0 matris[3][1]=0 matris[3][2]=0 matris[3][3]=0
    main(36) : Matris adresi alindi. Adress : 0x804a008



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Mart 2013; 14:25:05 >




  • quote:

    Orijinalden alıntı: ebubekir.s

    tamam çok teşekkür ederim.
    @garui

    Rica ederim. Dikkat forum da birsey var gibi. & ve notArr yanyana yazmiyor. Farkli bir karakter koyuyor ¬Arr seklinde.



    < Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Mart 2013; 14:39:52 >
  • @garui

    Teşekkür ederim yardımınız için.
  • Merhaba arkadaslar sizlere iki sorum olacak umarim yardimci olabilirsiniz, c#'a yeni basladigimi da belirtmek isterim.

    Soru 1 : Asagidaki kod ile C#'da compile islemi yapilamamaktadir. Neden ve ne gibi sorunlardan dolayi yapilamadigini aciklayiniz ?

    double a = 56.5;
    int b=a;


    Soru 2 :



    Yukaridaki kod dizelerinde 5 ciddi sorun vardir ve bir kac sira hatasi bulunmaktadir. Hatanin nerede oldugu hakkinda aciklama ve cözum icin neler yapilabilir belirtiniz ?

    Sorular bunlar arkadaslar umarim yardimci olabilirsiniz, gercekten cok mutlu olurum.

    Saygilarimla



    < Bu mesaj bu kişi tarafından değiştirildi tokayto -- 12 Mart 2013; 14:58:13 >




  • arkadaşlar mesela ismini sorduktan sonra cinsiyet soracak ve E veya K dan başka tuşa basıldığında tekrar soracak ? nasıl yapabiliriz



    < Bu mesaj bu kişi tarafından değiştirildi Ridianod -- 13 Mart 2013; 10:32:07 >
  • Kullanıcıdan alınan değere göre bir küme oluşturan ve aşağıdaki gibi bir çıktı veren program yazmaya çalışıyorum.
    {1, 2, 3} dizisinin alt kümeleri;
    { }
    { 1 }
    { 2 }
    { 3 }
    { 1, 2 }
    { 1, 3 }
    { 2, 3 }
    { 1, 2, 3 }

    Diziyi oluşturma ve diziye eleman atama kısmını hallettim ama 2 ve 3 elemanlı alt kümelerini nasıl oluşturacağım çözemedim. 8 elemanlı bir küme olursa 4,5,6,7 elemanlı alt kümelerini de buldurmam gerekiyor. Biraz açıklayabilir misiniz?
  • Arkadaşlar, c++'ta bir sorum olacak.
     
    int fonksiyon(int* dizi,int a,int b)
    {
    for(int i=0;i<5;i++)
    {
    dizi[i]=i;
    }
    cin>>a>>b;
    }

    int fonksiyon2()
    {

    }

    Koddaki gibi oluşturduğum değerleri diğer bir fonksiyonda nasıl kullanabilirim? Pointerları bir türlü kavrayamadım. Mesela fonksiyon2 adında bir fonksiyon oluşturdum ve bunda ilk fonksiyondaki diziyi ve a,b değerlerini aynen kullanmak istiyorum. Nasıl yapabilirim?
  • c++ builder 6 kullanıyorum

    edit1----mevcut şifre
    edit2---yeni şifre
    edit3---yeni şifre tekrar
    edit4--- kullanıcı adı

    kullanici adlı tablomda k_adi ve parola olarak tanımladığım iki alanım var . kullanıcının şifresini değiştirmeye calısıyorum ama olmuyor yanlışım nerde acaba ?
    void __fastcall TForm6::Button1Click(TObject *Sender) 
    {
    if(Edit2->Text=="" || Edit3->Text=="")
    {
    ShowMessage("Lütfen yeni parolanızı giriniz.Parola boş olamaz.");
    return;
    }
    else if(Edit2->Text!=Edit3->Text)
    {
    ShowMessage("Parola ve parola tekrarı aynı değil, lütfen düzeltiniz.");
    return;
    }

    String sql="SELECT * FROM kullanici WHERE parola='"+Edit1->Text+"'WHERE k_adi='"+Edit4->Text+"'";



    MyQuery1->SQL->Clear();
    MyQuery1->SQL->Add(sql);
    MyQuery1->Execute();
    if(MyQuery1->RecordCount<1)
    {
    ShowMessage("Mevcut kullanici adi veya parola yanlış.");
    return;
    }

    sql="UPDATE kullanici SET parola='"+Edit2->Text+"' WHERE k_adi='"+Edit4->Text+"'";

    //ShowMessage(sql);
    MyQuery1->SQL->Clear();
    MyQuery1->SQL->Add(sql);
    MyQuery1->Execute();
    ShowMessage("Parolanız başarıyla değiştirilmiştir.");
    }




  • ya arkadşlar şimdi şöyle bişey var benim bi program yazmam lazım. program her çift sayının kaç farklı asal sayı ikilisinin toplamı şeklinde yazılacağını hesaplayacak. örnek vermek gerekirse;
    4 = 2 + 2 (demekki 4 sayısı 1 farklı şekilde yazılabiliyor)
    6 = 3 + 3(6 sayısı 1 farklı şekilde yazılabiliyor)
    8 = 5 + 3(1 farklı şekilde yazılabiliyor)
    10 = 3 + 7 = 5 + 5(10 sayısı 2 farklı şekilde yazılabiliyor)

    program bu şekilde 4 den başlayarak her çift sayının kaç farklı asal sayı ikilisinin toplamı şeklinde yazılabileceğini ekrana yazıcak
    4 - 1 farklı
    6 - 1 farklı
    8 - 1 farklı
    10 - 2 farklı

    programlama dili c++
  • Arkadaşlar C# ile Hastane otomasyonu yapıyorum fakat takıldığım bir nokta var Hide, Close komutları ile Form1'den Form2'ye geçiş sağlıyorum ardından Form2'yi tamamen kapatıp Form1'e dönebiliyorum ama ilk geçiş yaptığım Form1 kapanmıyor arkaplanda çalışıyor bunu nasıl çözebilirim ?
    Kodlar:
    Form1'den Form2'ye geçiş butonu.
    private void button3_Click(object sender, EventArgs e)
    {
    Form2 f2 = new Form2();
    f2.Show();
    this.Hide();
    }

    Form2'den Form1'e dönüş butonu.
    private void button3_Click(object sender, EventArgs e)
    {
    Form1 f1 = new Form1();
    this.Dispose();
    f1.Show();
    }
    Buradaki Dispone'i Form1'den 2'ye geçerken kullanamıyorum 1 kapandığı için 2'de gösterilmeden otomatik olarak kapatılıyor.




  • quote:

    Orijinalden alıntı: selamolsunbolubeyine

    ya arkadşlar şimdi şöyle bişey var benim bi program yazmam lazım. program her çift sayının kaç farklı asal sayı ikilisinin toplamı şeklinde yazılacağını hesaplayacak. örnek vermek gerekirse;
    4 = 2 + 2 (demekki 4 sayısı 1 farklı şekilde yazılabiliyor)
    6 = 3 + 3(6 sayısı 1 farklı şekilde yazılabiliyor)
    8 = 5 + 3(1 farklı şekilde yazılabiliyor)
    10 = 3 + 7 = 5 + 5(10 sayısı 2 farklı şekilde yazılabiliyor)

    program bu şekilde 4 den başlayarak her çift sayının kaç farklı asal sayı ikilisinin toplamı şeklinde yazılabileceğini ekrana yazıcak
    4 - 1 farklı
    6 - 1 farklı
    8 - 1 farklı
    10 - 2 farklı

    programlama dili c++



    Her basliga ayni cevabi yazmissin ? Hayirdir QBASIC ile derdin mi, var ?
    Sadece bu yorumlari yazmak icin mi, uye oldun siteye ?
    ne iciyorsun ? yardim almak icin baslik acmissin da diger konularda niye hem insanlari yaniltip hem de dalga geciyorsun ? Yas kac ?

    Arduino Uno Proje Yardım -> eğer qbasic öğrenirsen istediğin herşeyi yapabilirsin. internette qbasic die aratırsan kaynaklar bulabilirsin
    c#'ta label veya pictureBox'u yan çevirmek varmı ? -> bu gibi görsel işleri c# yerine qbasic de yapmalısın. bence hemen qbasic öğrenmeye başla
    Matlab -> google a matlab yaz kendi orjinal sitesi çıkar zaten. ordan indirebilirsin. fiyatı ne kadar bilmiyorum biraz pahalı olabilir. matlab yerine qbasic öğrenirsen daha akıllıca bir iş yapmış olursun,
    c# kaynak -> bence c# yerine qbasic öğren. zararın neresinden dönsen kardır.

    Programcılığa başlamak ->
    iyi dinle şimdi.
    gidip java öğren sonra android öğren sonra da gidip iş ara.bulursan bana da söle bende gelem :D
    1000lira + yemek ücretine çalışırım. sabah 8 aksam 7 uygundur benim için.

    Programlamaya başlıyorum ->
    arkadaşım kesinlikle assembly den başlamalısın. hem temelden almış olursun :D yavaş yavaş ilerlersin.


    Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) ->
    ya arkadşlar şimdi şöyle bişey var benim bi program yazmam lazım. program her çift sayının kaç farklı asal sayı ikilisinin toplamı şeklinde yazılacağını hesaplayacak. örnek vermek gerekirse;
    4 = 2 + 2 (demekki 4 sayısı 1 farklı şekilde yazılabiliyor)
    6 = 3 + 3(6 sayısı 1 farklı şekilde yazılabiliyor)
    8 = 5 + 3(1 farklı şekilde yazılabiliyor)
    10 = 3 + 7 = 5 + 5(10 sayısı 2 farklı şekilde yazılabiliyor)

    program bu şekilde 4 den başlayarak her çift sayının kaç farklı asal sayı ikilisinin toplamı şeklinde yazılabileceğini ekrana yazıcak
    4 - 1 farklı
    6 - 1 farklı
    8 - 1 farklı
    10 - 2 farklı

    programlama dili c++




  • İyi günler,
    Yazdığım XOX oyununa yapay zeka eklemek istiyorum. Ancak ne şekilde yapabileceğimi tam olarak çözemedim.
    Aklıma gelen tek yöntem benim belirlediğim senaryoları test ederek yapay zekanın ona göre "O" koyması.
    Sadece mantık söylerseniz yada basit bi algoritma kurarsanız çok makbule geçer.
    Teşekkürler


    #include<stdio.h> 
    int sira=1,sa,su; //kullanicidan koordinat alirken sa ve su kullanilacak..
    char kazanan; //Kontrol fonkisyonu kazanan kisi olursa döndürdüğü X veya O değeri kazanan değişkenine atanicak.
    int ekran[3][3]={1,1,1, 1,1,1, 1,1,1}; //3x3 alanımız için kullanılacak matris.
    //x icin 2 y icin 3 degeri atanir.

    char kontrol(); //kontol fonksiyonu prototipi(70-98. Satır)

    void yaz() //ekran dizisindeki değerleri
    {

    int sat,sut; //satir ve sutunlari yazdirmak icin degiskenleri atiyoruz.
    system("CLS"); //Ekrani siliyoruz
    printf("\t \t \t1 \t2 \t3 \n\n\n\n\n"); //Satranç tahtası gibi sayılar yazdırıyoruz. En üste 1,2,3 yazdırıyor.
    for(sat=0;sat<3;sat++){
    printf("\t\t %d \t", sat + 1); // 14. satirdaki islemi sol tarafa uyguluyoruz.
    for(sut=0;sut<3;sut++){
    if(ekran[sat][sut]==1) printf("* \t"); //kullanicinin veri atamadigi yere * konuyor.
    if(ekran[sat][sut]==2) printf("X \t"); //kullanicinin X koyduğu yere X koyuyor.
    if(ekran[sat][sut]==3) printf("O \t"); //kullanicinin Y koyduğu yere Y koyuyor.
    }
    printf("\n\n\n\n");

    }

    }

    void oku() //Kullanicidan konum okuyan fonksiyon
    {
    tekrarlama: //Eğer zaten bir X veya O nun girildiği yere kullanici atama yaparsa tekrar değer alınır.
    if(sira%2==1)
    {
    printf("X konumu giriniz : ");
    scanf("%d%d",&sa,&su); //satiri sa degiskenine sutunu su degiskenine atiyor.
    if(ekran[sa-1][su-1]==2||ekran[sa-1][su-1]==3) goto tekrarlama; //Eğer zaten deger atanmis yere kullanici
    // bir daha X veya Y koymaya kalkarsa oku fonksiyonunun basina gidiliyor.

    else ekran[sa-1][su-1]=2; //Eğer girilen yer boşsa X konuluyor

    }
    else if(sira%2==0)
    {
    printf("O konumu giriniz : ");
    scanf("%d%d",&sa,&su);
    if(ekran[sa-1][su-1]==2||ekran[sa-1][su-1]==3) goto tekrarlama;
    ekran[sa-1][su-1]=3;
    }
    }


    int main()
    {
    yaz(); //Programin basinda tumuyle bos tahtamiz ekrana yazdiriliyor.
    while(sira<=9) //döngü 9 defa tekrar ediyor.
    {
    oku(); //Kullanicidan konum aliniyor.
    yaz(); //Tahta tekrar yazdiriliyor.
    kazanan=kontrol(); //Kazana varmi diye kontrol ediliyor.
    if(kazanan=='X') break; //kazanan var ise döngüden cikiliyor.
    else if(kazanan=='O') break;
    sira+=1;
    }
    printf("Oyun bitti");
    if(kazanan=='X') printf("\nX kazandi.\a\2\n\n");
    else if(kazanan=='O') printf("\nO kazandi.\a\2\n\n");
    else printf("\n Berabere.\a\1\n\n");

    system("pause");
    return 0;
    }

    char kontrol()
    {
    if(ekran[0][0]==2&&ekran[0][1]==2&&ekran[0][2]==2) return 'X';//üst taraf soldan saða
    else if(ekran[1][0]==2&&ekran[1][1]==2&&ekran[2][2]==2) return 'X';//orta taraf soldan saða
    else if(ekran[2][0]==2&&ekran[2][1]==2&&ekran[2][2]==2) return 'X';//alt taraf soldan saða


    else if(ekran[0][0]==2&&ekran[1][0]==2&&ekran[2][0]==2) return 'X';//Sol taraf yukardan aþaðý
    else if(ekran[0][1]==2&&ekran[1][1]==2&&ekran[2][1]==2) return 'X';//Orta taraf yukardan aþaðý
    else if(ekran[0][2]==2&&ekran[1][2]==2&&ekran[2][2]==2) return 'X';//sað taraf yukarýdan aþaðý

    else if(ekran[0][0]==2&&ekran[1][1]==2&&ekran[2][2]==2) return 'X';//soldan saða çapraz
    else if(ekran[0][2]==2&&ekran[1][1]==2&&ekran[2][0]==2) return 'X';//saðdan sola çapraz

    //O kazanma durumu

    if(ekran[0][0]==3&&ekran[0][1]==3&&ekran[0][2]==3) return 'O';//üst taraf soldan saða
    else if(ekran[1][0]==3&&ekran[1][1]==3&&ekran[2][2]==3) return 'O';//orta taraf soldan saða
    else if(ekran[2][0]==3&&ekran[2][1]==3&&ekran[2][2]==3) return 'O';//alt taraf soldan saða


    else if(ekran[0][0]==3&&ekran[1][0]==3&&ekran[2][0]==3) return 'O';//Sol taraf yukardan aþaðý
    else if(ekran[0][1]==3&&ekran[1][1]==3&&ekran[2][1]==3) return 'O';//Orta taraf yukardan aþaðý
    else if(ekran[0][2]==3&&ekran[1][2]==2&&ekran[2][2]==3) return 'O';//sað taraf yukarýdan aþaðý

    if(ekran[0][0]==3&&ekran[1][1]==3&&ekran[2][2]==3) return 'O';//soldan saða çapraz
    if(ekran[0][2]==3&&ekran[1][1]==3&&ekran[2][0]==3) return 'O';//saðdan sola çapraz

    }




  • arkadaslar end. müh. 1.sınıftayım. bilgisayar programlama dersinde visual studio 2012 görüyoruz.hocamız ödev verdi ve benim yapamadığım sorularım var . Rica etsem yardımcı olabilecek arkadaslar var mı ?

    SORUM: 1’den 10’a kadar sayıları kareleri ve küpleri ile beraber listeleyen program.

    daha yeni oldugumuz ıcın konularda cok ileriye gidemedik. do loopa kadar gelebildik. Yardım ederseniz sevinirim
  • 
Sayfa: önceki 6465666768
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.