Benzer satırları saydırmak

c0dex
06-12-2009, 16:34   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
1 mesaj
Kayıt Tarihi:Kayıt: Ara 2009

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char* argv[]) { char oneLine[500]; long int lineNO=1; while(fgets(oneLine,sizeof(oneLine),stdin)!=0) { lineNO++; } return 0; }
Arkadaşlar selamlar , yukarıdakı kodda STDIN den verileri fgets ile alıyorum ,  yada ( derlenen_c.exe <dosya.txt ) ile  txt verileri alacağım ... Okuma işlemi bittikten sonra ( yani while dongusunun disina ciktintan sonra )  okunan her satırı saydırmak ve benzer satir sayisi ile yazırmak istiyorum ...

Örneğin

input ; (fgets le okunan veriler)
            new york
            new york
            new york
            london
            amsterdam
            london
            
    output ; (ekrana bastırmam gereken veriler)
             0003   new york
             0001 amsterdam
             0002   london

 alttaki girdi ve çıktılar gibi ... Aceba bana yardımcı olabilir misiniz ?

eolos
12-12-2009, 17:12   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
2,036 mesaj
Kayıt Tarihi:Kayıt: May 2006

elimizden geldiğince yardımcı olalım. tüm kodu yazmayacağım ama sorun olursa yani yapamazsan mail at tüm programı yapayım kendin yapman daha güzel olur...

öncelikle dosyanı aç 
fopen();
daha sonra onu !=eof olana kadar döndür.
bunu yaparkende içerde if ile girilen  mesala örneğin newyork girdin ondan kac tane var saydır. ama bunu teker yapmalısın yani satır satır yoksa kod sapma sapan sonuclar verir