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

Vyhledavani v retezcich – C / C++ – Fórum – Programujte.comVyhledavani v retezcich – C / C++ – Fórum – Programujte.com

 

George5
~ Anonymní uživatel
10 příspěvků
2. 3. 2013   #1
-
0
-

Zdravim, dostal jsem za ukol z prideleneho retezce najit celkovy pocet slov a pak vypsat cetnosti slov podle poctu znaku + jako bombonek udelat velke prvni pismeno u kazdeho slova. V algoritmu chybu najít nemohu, ale z nejakeho kouzlneho duvodu mi cyklus s podminkou na konci probehne pouze 1x i když podmínk nemuže splnit. a také nesmímpoužívat knihovnu string.h, děkuju   

#include "stdafx.h"
#include "stdio.h"

int main( void)
{
    char text[] = "cat dog hen duck goat pig horse sheep cow lion tiger wolf fox elephant hippo owl eagle sparrow swallow",*u;  // animal words separated by spaces
int words=1;        // total number of words
int nchar[10]={0,0,0,0,0,0,0,0,0,0};  // array for counting of word with given number of characters
int m=0;         // counter for number of characters in word
int n=0;
char c;

text[0] -=32;
do
{
 


if (text[n]==' ')
text[n+1] -=32;
if (text[n]!=' ')
{

printf("%c", text[n]);
n++;
m++;
}
else
{
nchar[m-1]++;
m=0;
printf("\n");
words++;
n++;
}
}
while (text[n]=='\0');

printf("\n\nPocet slov celkem: %d\n", words);

for(m=0; m<10; m++)
{
if(nchar[m]!=0)
printf("\nCetnost slov s %d pismeny je %d",m+1,nchar[m]);
}

      
scanf("%c",&c);       // waiting for pressing key
return 0;         // program returns 0
}

Nahlásit jako SPAM
IP: 93.91.49.–
zlz
~ Anonymní uživatel
634 příspěvků
3. 3. 2013   #2
-
0
-

z nejakeho kouzlneho duvodu mi cyklus s podminkou na konci probehne pouze 1x i když podmínk nemuže splnit

do
{
}
while (text[n]=='\0');

Cyklus s podmínkou na konci proběhne vždy alespoň jednou, protože se ta podmínka testuje až na konci... A tu podmínku máš špatně. Celé to máš jaksi nešťastné.

Nahlásit jako SPAM
IP: 80.188.216.–
George5
~ Anonymní uživatel
10 příspěvků
3. 3. 2013   #3
-
0
-

No jestli to chápu srávně, tak na konci retezce je \0 a tudíž by při podmínce while (text[n]=='\0') měl vyklus probíhat dokud nenarazí na konec retezce. 

Nahlásit jako SPAM
IP: 93.91.49.–
KIIV
~ Moderátor
+43
God of flame
3. 3. 2013   #4
-
0
-

a co kdyz mas prazdny retezec a \0 je hned prvni znak?

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
George5
~ Anonymní uživatel
10 příspěvků
3. 3. 2013   #5
-
0
-

No retezec jsem naplnil uz pri deklaraci
char text[] = "cat dog hen duck goat pig horse sheep cow lion tiger wolf fox elephant hippo owl eagle sparrow swallow"

Nahlásit jako SPAM
IP: 93.91.49.–
zlz
~ Anonymní uživatel
634 příspěvků
3. 3. 2013   #6
-
0
-

Cyklus se opakuje, pokud je podmínka splněna. Ty ho chceš opakovat dokud NEJSI na konci řetězce.

A samozřejmě bys to měl napsat tak, aby to správně fungovalo vždycky. I pro prázdný řetězec.

Nahlásit jako SPAM
IP: 80.188.216.–
George5
~ Anonymní uživatel
10 příspěvků
3. 3. 2013   #7
-
0
-

Jo tak v tom případě, je mi to jasný a podmínku dám teda na zacatek, aby to fungovalo i pro prazdnej retezec. Děkuji 

Nahlásit jako SPAM
IP: 217.194.164.–
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, 52 hostů

Podobná vlákna

Vyhledávání — založil al

Vyhledávání — založil x-flyer

Vyhledávání v matici — založil Tonny

Vyhledávání řetězce — založil scopres

Vyhledávání do mema - need help — založil Dan Stahar

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ý