Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
9
Cevap
772
Tıklama
0
Öne Çıkarma
Yönsüz graf c++ kodu aciill
M
5 yıl
Onbaşı
Konu Sahibi

Yönsüz bir graftaki bütün alt bileşenleri ve düğümlerini tespit eden bir program yazınız. Acil yardım edebilir misiniz?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



C
5 yıl
Yüzbaşı

"Yönsüz bir graftaki bütün alt bileşenleri ve düğümlerini tespit eden bir program"

Yazdım.



G
5 yıl
Yarbay

#include <iostream>
using namespace std;
int main()
{
    cout<<"Yönsüz bir graftaki bütün alt bileşenleri ve düğümlerini tespit eden bir program";
    return 0;
}


Bu mesaja 1 cevap geldi.
T
5 yıl
Yarbay

Türkçe yazılım makaleleri eksik yetersiz Vikipedi'de dahi graf konusunu anlatıyor, İngilizcesinde konuya ilişkin tutorial linkleri var.
https://tr.wikipedia.org/wiki/Graf_(matematik)
Graf konusunun gerçekte bir cok uygulaması var, öğrenirseniz ilerde işinize de yarayabilir.
Konuya dair tutorial'larda Python ve Java kullanılmış. Onlardan ilgili (çalışan) kodu bulup iletirsen C++'a çevirmede yardımcı olabilirim.



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 2 cevap geldi.
M
5 yıl
Onbaşı
Konu Sahibi

Bunu istemediğimi bilmiyor olmanız üzdü ve şaşırttı :(




Bu mesajda bahsedilenler: @Gökşen PASLI
M
5 yıl
Onbaşı
Konu Sahibi

Python ve java olan kodunu da bulamadım :(




Bu mesajda bahsedilenler: @vonderplanitz
M
5 yıl
Onbaşı
Konu Sahibi

Alt Bileşen Düğümler
1 1,3,5,7,9
2 2,4,10,12,6 … 

Örnek olarak Program çıktısı bu şekilde olacak



M
5 yıl
Onbaşı
Konu Sahibi

Kodu buldum fakat hatalar var. Yanlarına yazdım bakabilir misiniz?

#include <iostream>
#include <iomanip>
//#include <locale.h> //

using namespace std;
int main (){
int sdizi[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int sycc=1;
bool buluc(int dizi[], int sayi);
sdizi[0]=1;
short graph[20]
[20]={{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0}};
for (int i=0 ; i<20 ; i++)
{
for (int j=0 ; j<20 ; j++)
{
if(graph[j]!= 0)
{
if(buluc(sdizi,j+1))
sdizi[sycc]=j+1; sycc++;}
}
}
}

//setlocale(LC_ALL, "Turkish");
cout << endl << "alt_bilesen" << setw(10) << "dugumler" < endl << endl; (burada hata alıyorum coutta)
cout << setw(6) << 1 << setw(4) << " "; (burada hata alıyorum coutta)
for(int m=0 ; m<20 ; m++) (for da ve m lerde hata alıyorum)
{
if(sdizi[m]>0 && sdizi[m]<21) cout << setw(4) << sdizi[m];}
return 0 ; (burada hata alıyorum)
} (bide burada hata)
bool buluc(int dizi[], int sayi){
for(int i=0 ; i<20 ; i++){
if(dizi == sayi) return false;}
return true;
}




Bu mesajda bahsedilenler: @vonderplanitz
M
5 yıl
Teğmen

#include <iostream>

#include <iomanip>

using namespace std;

int main() {

    int sdizi[20] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 };

    int sycc = 1;

    bool buluc(int dizi[], int sayi);

    sdizi[0] = 1;

    short graph[20][20] = {
        
        {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

        {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

        {0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0},

        {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0},

        {0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0},

        {0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0},

        {0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0},

        {0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0},

        {0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0},

        {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0}
    };

        for (int i = 0; i < 20; i++) {
            for (int j = 0; j < 20; j++) {
                if (graph[i][j] != 0) {
                    if (buluc(sdizi, j + 1)) {
                        sdizi[sycc] = j + 1;
                        sycc++;
                    }
                }
            }
        }

    cout << endl << "alt_bilesen" << setw(10) << "dugumler" << endl << endl;    

    cout << setw(6) << 1 << setw(4) << " ";                                                     

    for (int m = 0; m < 20; m++) {
        if (sdizi[m] > 0 && sdizi[m] < 21) cout << setw(4) << sdizi[m];
    }

    return 0;                                                                                                       

}   

bool buluc(int dizi[], int sayi) {

    for (int i = 0; i < 20; i++) {

        if (dizi[i] == sayi) return false;
    }

    return true;
}

@Mh97

Kodu formatlayip calisir hale getirdim. Fakat ne istediginiz hala net degil gozumde.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Mh97
M
5 yıl
Onbaşı
Konu Sahibi

Çok teşekkür ederim.
https://forum.donanimhaber.com/grafta-dijkstra-algoritmasi-yardimci-olur-musunuz-lutfen--146370175#146375804 şuraya da bakabilir misiniz rica etsem?




Bu mesajda bahsedilenler: @mosahin
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.