Prosze o pomoc, mam program liczacy wystepowanie danego znaku w pliku
(test.txt) i wszystko jest OK. Jednak nie moge go zmusic zeby liczyl cale
wyrazy.
Ten program liczy znaki:
///////////////////////////////////////////////////////////////////////////
#include<stdio.h>
int i;
char znak; char znak[100];
char S1; char S1[100];
main()
{
FILE*plik;
printf("Wprowadz symbol: ");
scanf("%c",&S1); scanf("%s",&S1);
plik=fopen("test.txt","r");
i=0;
while(znak!=EOF)
{
fscanf(plik,"%c",&znak); fscanf(plik,"%s",&znak);
if(znak==S1)
i++;
}
printf("%c %d",S1,i); printf("%s %d",S1,i);
getch();
}
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Co musze tu zmienic? Rozumiem ze "S1" i "znak" musi byc tablica, a zamiast
%c ma byc %s? Prosze o wprowadzenie modyfikacji, lub link do jakiegos
przykladu.
--
Pozdrawiam
Konrad L
http://foto.u2.pl
Można to zrobić na różne sposoby. Możesz np. przyjrzeć się dwóm funkcjom:
strtok i strcmp. Obie są z biblioteki string.h.
http://www.mkssoftware.com/docs/man3/strtok.3.asp
http://www.mkssoftware.com/docs/man3/strcmp.3.asp
Pozdrawiam
Tadeusz
To całkiem naturalne. Jak sam zauważyłeś, ten program zlicza znaki.
Przynosisz nam rower i pytasz, jak z tego zrobić samochód.
IMO masz następujące wyjścia:
1. Pożyczyć K&R "Język ANSI C", nauczyć się podstaw, potem przemyśleć
problem i napisać program. Ewentualnie przepisać go z tej książki
(tak, tak, jest tam gotowy, przy okazji omawiania drzewa binarnego)
2. Zgubić kartkę z tematem i wkręcić wałek gostkowi, że chodziło o
znaki.
3. Kupić gotowca (adres w sygnaturce) ;-)
Pozdrawiam
--
pgancarz, at, tlen, dot, pl