- 24 Haz 2010
- 103
- 0
Algoritmanın yaptığı eylem;
instagram profilinden alınmış olan takipçi isimleri takipciler.txt dosyasına
takip edilen kişi isimleri takipedilenler.txt dosyasına kopyalanıyor bu işlem kullanıcı tarafından manuel olarak yapılması gerekmekte.
Bu işlemlerin ardından algoritma takipcilerden birini alıp takipedilenler ile compare ediyor eğer eşitlik var ise bunu sonuc.txt 'e yazdırıyor. Çıkmaz ise işine devam ediyor. Kodu paylaşıyorum.
Kodu tamamen özetleyecek olursam öncelikle kullanıcıdan takipcisayisi ve takip edilen kişi sayısı bilgisini alıyor. Sonra bu integer değerleri 4 ile çarpıyor. Bunun sebebi instagram profilinden kopyalanmış olan isimler ile gelen bazı saçma metinlerdir ve hesaplandığında satır sayısı kişi sayısının 4 katından 1 eksiği olmakta tam 4 katı olması için bir boş satır daha ekliyorum metin belgelerine.
Daha sonrasında iç içe 2 for döngüsü başlıyor bunlardan ilki takipcisayısı kadar dönmekte diğeri
takipcisayısı * takipedilen kisi sayısı kadar dönmektedir. k değişkeni kontrol değeri. Eğer satırlar birbirlerine eşit ise k değeri 1 e eşitleniyor. Eş değillerse 0 oluyor. 2.for döngüsünün sonunda bu k değerinin 0 olmasına göre gelen denilen char dizisi yani takipciler dosyasından bir satır sonuc.txt 'e yazılıyor. Hepsini kontrol etmesi gerekmiyor aslında bunun çözümü var ama öncelikle bu hallolmalı ki kodu kısaltmaya gidebileyim. Kodun kısaltılması ise şu şekilde olur fgets kodu 4 kere çalışır metin belgelerinden sadece kullanıcı adları alınmış olur tabi birkaç işlem yapıldıktan sonra. Neyse kod alt kısımda nerede hata var bulamadım. Bununla ilgili yazılımlar olduğunu biliyorum fakat o yazılımlara instagram id pw vermek istemediğimden dolayı böyle bişey yazıyorum isteyen arkadaşalarda devc++ ta derleyip kullanabilirler.
instagram profilinden alınmış olan takipçi isimleri takipciler.txt dosyasına
takip edilen kişi isimleri takipedilenler.txt dosyasına kopyalanıyor bu işlem kullanıcı tarafından manuel olarak yapılması gerekmekte.
Bu işlemlerin ardından algoritma takipcilerden birini alıp takipedilenler ile compare ediyor eğer eşitlik var ise bunu sonuc.txt 'e yazdırıyor. Çıkmaz ise işine devam ediyor. Kodu paylaşıyorum.
Kodu tamamen özetleyecek olursam öncelikle kullanıcıdan takipcisayisi ve takip edilen kişi sayısı bilgisini alıyor. Sonra bu integer değerleri 4 ile çarpıyor. Bunun sebebi instagram profilinden kopyalanmış olan isimler ile gelen bazı saçma metinlerdir ve hesaplandığında satır sayısı kişi sayısının 4 katından 1 eksiği olmakta tam 4 katı olması için bir boş satır daha ekliyorum metin belgelerine.
Daha sonrasında iç içe 2 for döngüsü başlıyor bunlardan ilki takipcisayısı kadar dönmekte diğeri
takipcisayısı * takipedilen kisi sayısı kadar dönmektedir. k değişkeni kontrol değeri. Eğer satırlar birbirlerine eşit ise k değeri 1 e eşitleniyor. Eş değillerse 0 oluyor. 2.for döngüsünün sonunda bu k değerinin 0 olmasına göre gelen denilen char dizisi yani takipciler dosyasından bir satır sonuc.txt 'e yazılıyor. Hepsini kontrol etmesi gerekmiyor aslında bunun çözümü var ama öncelikle bu hallolmalı ki kodu kısaltmaya gidebileyim. Kodun kısaltılması ise şu şekilde olur fgets kodu 4 kere çalışır metin belgelerinden sadece kullanıcı adları alınmış olur tabi birkaç işlem yapıldıktan sonra. Neyse kod alt kısımda nerede hata var bulamadım. Bununla ilgili yazılımlar olduğunu biliyorum fakat o yazılımlara instagram id pw vermek istemediğimden dolayı böyle bişey yazıyorum isteyen arkadaşalarda devc++ ta derleyip kullanabilirler.
Kod:
#include<stdio.h>
#include<string.h>
int main(){
FILE *dosya = fopen("takipciler.txt","r");
FILE *sonuc = fopen("sonuc.txt","w");
char gelen[40];
char gelen2[40];
int takipcisayisi,takipedilensayisi,k;
printf("Takipci kisi sayini gir ");
scanf("%d",&takipcisayisi);
takipcisayisi *=4;
printf("Takipedilen kisi sayisini gir ");
scanf("%d",&takipedilensayisi);
takipedilensayisi *=4;
for(;takipcisayisi>0;takipcisayisi--){
fgets(gelen,40,dosya);
FILE *dosya2 = fopen("takipedilenler.txt","r");
for(;takipedilensayisi>0;takipedilensayisi--){
fgets(gelen2,40,dosya2);
if(strcmp(gelen,gelen2)==0){
k=1;
break;
}
k=0;
}
if(k==0)
fprintf(sonuc,"%s\n",gelen);
fclose(dosya2);
}
fclose(dosya);
fclose(sonuc);
}
Moderatör tarafında düzenlendi: