Anonymní profil Robo – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Anonymní profil Robo – Programujte.comAnonymní profil Robo – Programujte.com

 

Příspěvky odeslané z IP adresy 178.253.133.–

Robo
C / C++ › Problém s podmienkou
21. 11. 2013   #184230

#1 m.czech
jasné že ti píše tú chybu. Ty totiž porovnávaš x != 0. Ale čo máš v tom x ??? 
no nič, kedže si tam ešte nič nevložil. Takže buď zmeň podmienku na do - while, alebo načítaj prvé údaje ešte pred podmienkou

Robo
C / C++ › Práce se string, vyhledávání…
21. 11. 2013   #184167

#1 Martin
Dá sa to spraviť viacerými spôsobmi (je nato aj funkcia strstr() definovaná v cstring)

Môj program pracuje tak, že si vytvorím pomocný string dĺžky hľadaného znaku. Následne idem porovnávať reťazce a keď narazím na prvú zhodu, tak do toho pomocného reťazca zkopírujem toľko znakov, ako je dlhý pomocný reťazec. Potom už len porovnávam pomocný reťazec s hľadaným znakom a keď je zhoda, tak pripočítam pomocnú premennú temp. Nakoniec mi stačí overiť, či bola zhoda v každom znaku (porovnám dĺžku hľadaného znaku a tempu) a keď bola, tak pripočítam 1 k celkovému počtu.

#include <iostream>
#include <string>

using namespace std;

void porovnaj_znak(string retazec, string znak){
	int count = 0;
	int temp = 0;
	string stemp = znak;


	for(int i = 0; i < retazec.length(); i++){
		if(retazec[i] == znak[0]){
			for(int j = 0; j < znak.length(); j++){
				stemp[j] = retazec[i++];
			}
			i -= znak.length();

			for(int j = 0; j < znak.length(); j++){
				if(stemp[j] == znak[j])
					temp++;
			}
			if(temp == znak.length())
				count++;
		}
		temp = 0;
	}

	cout << "Znak bol zobrazeni " << count << " krat\n";
}

int main()
{
	porovnaj_znak("somtusomtusompretosom", "som");

   system("PAUSE");
   return 0;
}

 

 

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