c++ dilinde programlama ödevim varda yardım ederseniz

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Onaylı Üye
Katılım
7 Haz 2017
Mesajlar
112
Tepki puanı
15
8 HİZMET YILI
* c++ yapılacak ödev
5 x 5 lik bir dizimiz olacak
* Kullanıcıdan en fazla 5 harflik bir kelime istenecek.
- Eğer kelime 5 harften fazlaysa tekrar istenecek.
* Eğer kelime dizi içinde yoksa böyle bir kelime dizide bulunmamaktadır yazacak.
- eğer kelime dizi içinde varsa konumu bulunacak.Örneğin: AK kelimesi girildi bunun dizi içindeki konumu [1,0],[5,4] falan gibi.

Bu örneği yaparmısınız sorunsuz birşekilde çalışan
 
Süper Üye
Katılım
18 Kas 2017
Mesajlar
644
Çözümler
2
Tepki puanı
47
Ödüller
9
8 HİZMET YILI
ödevinde başarılar dilerim umarım yapan birileri karşına çıkar
 
Tony Stark Kurtarıcınız Olacak!
Banlı Üye
Katılım
25 Eyl 2018
Mesajlar
207
Tepki puanı
73
Yaş
26
7 HİZMET YILI
Kardeşim Merhaba ;
C++ Zor Bir Dil Programıdır Herkesin Harcı Olamadığından Bunu Elinle Yazamassın Anlatsam Bile.
Yapacağın Ödevin Açılımını Yapmalısın Şu Şekildemi ;
C++ Komut İstemcisi Gibi Bir Şeymi Oluşturacaksın Yoksa Natron Gibi Bir Şeymi Açıklamana Göre Yardımıma Devam Edeceğim.
 
Reverser
Katılım
15 Tem 2015
Mesajlar
297
Çözümler
2
Tepki puanı
356
Ödüller
10
10 HİZMET YILI
Buyur hocam takildigin yerleri sorabilirsin.


C++:
#include "pch.h"
#include <iostream>

#include <string>

using namespace std;

int main()
{
    string dizi[5][5];
    for (auto i = 0; i < 5; i++)
        for (auto j = 0; j < 5; j++)
        {
            //burada diziyi istedigin sekilde doldur
            dizi[i][j] = string(to_string(i) + "_" + to_string(j));
        }

    girdigirisi:

    char girdi[5];

    cout << "Dizide aratmak istediginiz metini giriniz : ";

    cin >> girdi;

    if (strlen(girdi) > 5 || strlen(girdi) <= 0)
    {
        cout << "Hatali girdi yazdiniz." << endl;
        goto girdigirisi;
    }

    auto kontrolLambda = [](string dizi[5][5], char* veri) -> std::pair<bool, int*>
    {
        int dizisayisi[2];
        for (auto i = 0; i < 5; i++)
            for (auto j = 0; j < 5; j++)
            {
                dizisayisi[0] = i;
                dizisayisi[1] = j;

                if (strcmp(dizi[i][j].c_str(), veri) == 0)
                    return std::make_pair(true, dizisayisi);
            }

        return std::make_pair(false, dizisayisi);
    };

    auto kontrol = kontrolLambda(dizi, girdi);

    if (!kontrol.first)
    {
        cout << "Boyle bir kelime dizide bulunmamaktadir." << endl;
        system("pause");
        return 0;
    }

    auto dizisayilari = kontrol.second;

    cout << "Aradiginiz kelime olan " << girdi << ", [" << dizisayilari[0] << "," << dizisayilari[1] << "] uzerinde bulundu." << endl;

    system("pause");

    return 0;
}
 
#Ri
Coder
Katılım
17 Ocak 2016
Mesajlar
1,111
Çözümler
2
Tepki puanı
2,542
Ödüller
12
Yaş
9
10 HİZMET YILI
Buyur hocam takildigin yerleri sorabilirsin.


C++:
#include "pch.h"
#include <iostream>

#include <string>

using namespace std;

int main()
{
    string dizi[5][5];
    for (auto i = 0; i < 5; i++)
        for (auto j = 0; j < 5; j++)
        {
            //burada diziyi istedigin sekilde doldur
            dizi[i][j] = string(to_string(i) + "_" + to_string(j));
        }

    girdigirisi:

    char girdi[5];

    cout << "Dizide aratmak istediginiz metini giriniz : ";

    cin >> girdi;

    if (strlen(girdi) > 5 || strlen(girdi) <= 0)
    {
        cout << "Hatali girdi yazdiniz." << endl;
        goto girdigirisi;
    }

    auto kontrolLambda = [](string dizi[5][5], char* veri) -> std::pair<bool, int*>
    {
        int dizisayisi[2];
        for (auto i = 0; i < 5; i++)
            for (auto j = 0; j < 5; j++)
            {
                dizisayisi[0] = i;
                dizisayisi[1] = j;

                if (strcmp(dizi[i][j].c_str(), veri) == 0)
                    return std::make_pair(true, dizisayisi);
            }

        return std::make_pair(false, dizisayisi);
    };

    auto kontrol = kontrolLambda(dizi, girdi);

    if (!kontrol.first)
    {
        cout << "Boyle bir kelime dizide bulunmamaktadir." << endl;
        system("pause");
        return 0;
    }

    auto dizisayilari = kontrol.second;

    cout << "Aradiginiz kelime olan " << girdi << ", [" << dizisayilari[0] << "," << dizisayilari[1] << "] uzerinde bulundu." << endl;

    system("pause");

    return 0;
}

Reksi üstadımız fentezilerini döktürmüş ama bence lambda, make pair, auto daha henüz görmediğin şeyler arasında olabilir ihtimalini düşünerekten senin için olabilcek en basit haliyle yazdım.

C++:
#include <iostream>

using namespace std;

int main()
{
    setlocale(0, "Turkish");
    char* dizi[5][5];

    for (int i = 0; i < 5; i++)
    {
        for (int t = 0; t < 5; t++)
        {
            dizi[i][t] = (char*)"sekiz";
        }
    }

    dizi[2][4] = (char*)"dokuz";

    char kelime[5];
    bool kelime_alindi = false;
    int  konum[2];

    cout << "En fazla 5 harfli bir kelime giriniz..." << endl;

    do
    {
        cin >> kelime;
        int uzunluk = strlen(kelime);
        if (uzunluk < 5 && uzunluk > 0)
            kelime_alindi = true;
        else
            cout << "Girdiğiniz kelime 5 harften uzun..." << endl;
    } while (!kelime_alindi);

    for (int i = 0; i < 5; i++)
    {
        for (int t = 0; t < 5; t++)
        {
            if (strstr(dizi[i][t], kelime))
            {
                konum[0] = i;
                konum[1] = t;
                i = t = 5;
            }
        }
    }

    if (konum[0] != 0)
        cout << "Kelime " << konum[0] << " dizisinde " << konum[1] << " konumunda bulundu..." << endl;
    else
        cout << "Kelimeniz dizilerde bulunamadı..." << endl;

    getchar();
}
 
Onaylı Üye
Katılım
26 Şub 2018
Mesajlar
86
Tepki puanı
16
Ödüller
6
Yaş
29
8 HİZMET YILI
C++ bilgim yok ama C# ile ilgili sorun olursa her zaman ulaşabilirsin bana
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst