Soubory – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Soubory – C / C++ – Fórum – Programujte.comSoubory – C / C++ – Fórum – Programujte.com

 

Jockie0
Newbie
4. 5. 2006   #1
-
0
-

Zdravim...

jake by bylo podle vas nejidealnejsi reseni pro jednoduchej program, ktery by nacetl z txt souboru radky a ty radky ve kterych by byl stejny pocet malych a velkych by vypsal na obrazovku ?!?! v cistym C :skunk2:

Nahlásit jako SPAM
IP: ...–
Lovi´n it .... c(_)
Jura_0
Stálý člen
5. 5. 2006   #2
-
0
-

Jockie napsal:

Zdravim...

jake by bylo podle vas nejidealnejsi reseni pro jednoduchej program, ktery by nacetl z txt souboru radky a ty radky ve kterych by byl stejny pocet malych a velkych by vypsal na obrazovku ?!?! v cistym C :skunk2:


jockie.txt


Aa bb
AA bb
AAA bbb


jockie.c


#include <stdio.h>
#include <stdlib.h>

#define JOCKIE_MAX 256

int main(int argc, char *argv[])
{
if(argc < 2){
fprintf(stderr, "Too little count of input parameters");
return 1;
}
FILE *fin = fopen(argv[1], "r");
if(!fin){
perror("This error has occured");
return errno;
}
char line[JOCKIE_MAX];
for(;fgets(line, JOCKIE_MAX, fin);){
int count_l =0;
int count_b = 0;
char *pch;
for(pch = line; *pch; pch ++){
if((*pch >='a') && (*pch<='z')) count_l ++;
if((*pch >='A') && (*pch<='Z')) count_b ++;
}
if(count_l == count_b)
printf("%s", line);
}
fclose(fin);
return 0;
}

------------------------------------------
vystup:

C:Dev-Cpp>jockie jockie.txt
jockie.txt
AA bb
AAA bbb

C:Dev-Cpp>

Nahlásit jako SPAM
IP: ...–
Jockie0
Newbie
7. 5. 2006   #3
-
0
-



char *pch;
for(pch = line; *pch; pch ++){
if((*pch >='a') && (*pch<='z')) count_l ++;
if((*pch >='A') && (*pch<='Z')) count_b ++;
}

Mohl by si mi prosim vysvetli ten cykl for ?? co presne to dela ?? Dik :P

Nahlásit jako SPAM
IP: ...–
Lovi´n it .... c(_)
some_one0
Návštěvník
7. 5. 2006   #4
-
0
-

Jockie napsal:



char *pch;
for(pch = line; *pch; pch ++){
if((*pch >='a') && (*pch<='z')) count_l ++;
if((*pch >='A') && (*pch<='Z')) count_b ++;
}

Mohl by si mi prosim vysvetli ten cykl for ?? co presne to dela ?? Dik :P



Nu pch bude ukazovat na ten řádek - resp. na jeho první písmeno., to se pomocí (*pch) zkontroluje zda je velký nebo malý - a incrementuje se příslušný počítadlo.
Nu a pak se pch zvětší o "jedna" - a jelikož je to pointer tak se použije pointerová aritmetika - samotná pch se nezvýší o jedna (jak by se mohlo zdát) ale o sizeof(char) - pch pak bude ukazovat až na další písmenko, dokud nenajede na konec. (*pch) bude null (resp. spíš bych porovnal s '?' ) - což je ukončovací znak řetězce.

Nahlásit jako SPAM
IP: ...–
some_one0
Návštěvník
7. 5. 2006   #5
-
0
-

Prostě miluju pointery, jdou s nimy krásně kouzla, jen se v tom občas lidi ztrácej :-))))

Nahlásit jako SPAM
IP: ...–
Jockie0
Newbie
7. 5. 2006   #6
-
0
-

some_one napsal:

Prostě miluju pointery, jdou s nimy krásný kouzla, jen se v tom občas lidi ztrácej :-))))



No prave :P ja sem ztracej od zacatku a jeste sem nanasel a neprostrilel si cestu ven ... :bumbum:

Nahlásit jako SPAM
IP: ...–
Lovi´n it .... c(_)
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 104 hostů

Podobná vlákna

Soubory — založil Delphimania

Soubory — založil Franceq

Soubory — založil don_Dominique

... soubory — založil koudis

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý