C++ Ödev Yardım Lazım
-
Nobel bunu yazdıWebci58 bunu yazdı
tamamdır hocam çözüldü sorun, ama hocaya sordum ödev sayı değilde karakter yani 1. dizi ahmet 2. dizi ali şeklinde olacak ve harfleri karşılaştıracakmış
bir öyle bakayım o zaman harfte girsen çalısıyor o da tek girmek gerekiyor.
işte 3 tane değilde tek seferde bi dizi olması gerekiyor, zahmet olmazsa bak bi hocam ya
-
// odev.cpp : main project file. #include "stdafx.h" #include <iostream> #include <cstring> #include <stdio.h> #include <conio.h> using namespace System; using namespace std; int adet=0; int fnk(char *dizi1, char *dizi2) { int i,k; for(i=0; i<strlen(dizi1); i++) { for(k=0; k<strlen(dizi2); k++) { if(*(dizi1 + i) == *(dizi2 + k)) adet++; } } adet = strlen(dizi2) - adet; return (int)&adet; } int main() { char kdizi1[100]; char kdizi2[100]; int adres; int *deger; cout << "1. karakteri girin: "; cin >> kdizi1; cout << "İlk dizi tamamlandi. 2. dizi için 1. karakteri girin: "; cin >> kdizi2; adres = fnk(kdizi1,kdizi2); deger = (int*)adres; cout << "Adres: " << adres << endl; cout << "1. dizide olup 2. dizide olmayan karakter adedi: " << *deger << endl; getch(); return 0; }
-
Nobel bunu yazdı
// odev.cpp : main project file. #include "stdafx.h" #include #include #include <stdio.h> #include <conio.h>
tamamdır hocam canavar gibi çalışıyor çok çok teşekkür ederim eline koluna sağlık
-
ne demek usta her zaman :)
-
bende konuyla alakali soyle bi algoritma yazdim ancak geriye pointer donmedim. acikcasi cok sacma buldugumdan bunu yapmadim ancak @YeniHarman ' in anlatimindan faydalanarak bunu kendin basarabilirsin :)
neyse son dakika karari ile seni buna zorlamaktan vazgecip pointer la dondum :)
int *FindCountOfDifference(const char *psz1, const char *psz2) { char chs[0xff + 1] = {0}; const char *ptr; static int retVal; int i; for (ptr = psz1; *ptr != '\0'; ++ptr){ chs[*ptr] = 1; } for (ptr = psz2; *ptr != '\0'; ++ptr){ chs[*ptr] = 0; } for (retVal = i = 0; i < sizeof(chs); ++i){ if (chs[i]){ ++retVal; } } return &retVal; } int main(int argc, char *argv[]) { printf("%d", *(FindCountOfDifference(argv[1], argv[2]))); }
-
guru bunu yazdı
int *FindCountOfDifference(const char *psz1, const char *psz2) { char chs[0xff + 1] = {0}; const char *ptr; static int retVal; int i; for (ptr = psz1; *ptr != '\0'; ++ptr){ chs[*ptr] = 1; } for (ptr = psz2; *ptr != '\0'; ++ptr){ chs[*ptr] = 0; } for (retVal = i = 0; i < sizeof(chs); ++i){ if (chs[i]){ ++retVal; } } return &retVal; } int main(int argc, char *argv[]) { printf("%d", *(FindCountOfDifference(argv[1], argv[2]))); }
Bu mantığı beğendim:) Tek değil de çok boyutlu matris yapısına sokularak eş zamanlı yüzlerce ikili karşılaştırılabilir.
-
Webci58 bunu yazdı
hocam öncelikle eline koluna sağlık
denedim kodları"#include <stdafx.h>
using namespace system;"buralarda hata veriyor
Edit: silip çalıştırdığımda çalışıyor ama sonuç doğru değil gibi çünki çoğu denemede hep 2 çıktı ve adres aynıHocam using namespace std; olacak
Edit:Yanlış smiley + imla.
ataturkcu1 tarafından 15/Nis/13 02:58 tarihinde düzenlenmiştir -
ataturkcu1 bunu yazdıWebci58 bunu yazdı
hocam öncelikle eline koluna sağlık
denedim kodları"#include <stdafx.h>
using namespace system;"buralarda hata veriyor
Edit: silip çalıştırdığımda çalışıyor ama sonuç doğru değil gibi çünki çoğu denemede hep 2 çıktı ve adres aynıHocam using namespace std; olacak
Edit:Yanlış smiley + imla.
Yok hocam using namespace std; var zaten ama ek olarak bu vardı, vs de yazdığı için öyle sanırım :)