Witam, jako, ze jestem poczatkujacym w programowaniu, chcialem spytac czy ktos moze moglby mi pomoc...potrzebuje program ktory zlicza liczbe wyrazow, liter i cyfr we wprowadzonym tekscie. czy ktos pomoze? z gory dziekuje
pozdrawiam
					
					
					
				
				
				
				 
	[C++]maly programik...
         Rozpoczęty przez 
	sancho1
, 03 01 2009 23:37
    
    
    
    
        1 odpowiedź w tym temacie
    
       
			
				
					
						
					
					#1
					![[C++]maly programik...: post #1](https://www.forum.tweaks.pl/public/style_images/master/icon_share.png) 
					
				
				
				
					
				
			
				
			
			
			Napisano 03 01 2009 - 23:37
			
				
					
						
					
					#2
					![[C++]maly programik...: post #2](https://www.forum.tweaks.pl/public/style_images/master/icon_share.png) 
					
				
				
				
					
				
			
				
			
			
			Napisano 04 01 2009 - 19:53
					A co już masz? Pewnie nic. Bo liczysz na to, że ktoś to zrobi za Ciebie.
Wyrazy możesz policzyć tworząc funkcję w stylu PHPowskiego explode(). A zrobisz to np. operując na wektorach (vector). Przykład:
					
					
					
				
				
				
				
				
								
				
					
				
				
				
			
				Wyrazy możesz policzyć tworząc funkcję w stylu PHPowskiego explode(). A zrobisz to np. operując na wektorach (vector). Przykład:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <vector>
#include <string>
using namespace std;
void explode(string str, string separator, vector<string>* results){
	short int found;
	found = str.find_first_of(separator, 0); // wyraz do pierwszego wystapienia separatora
	while (found != string::npos) // wyszukuj do momentu, gdy nie bedzie mozna juz znalezc separatora
	{
		if (found > 0)
		{
			results->push_back(str.substr(0, found)); // dodanie nastepnego elementu do tablicy wektorowej
		}
		str = str.substr(found + 1); // usuniecie elementu z rozbijanego ciagu
		found = str.find_first_of(separator, 0); // znalezienie kolejnego wystapienia separatora
	}
	if (str.length() > 0) // jezeli rozbijany ciag nie zawiera separatora
	{
		results->push_back(str); // dodanie calego ciagu do pierwszego elementu tablicy
	}
}
int main(int argc, char *argv[])
{
	vector<string> exploded;
	string operative_string;
	char temporary_char[255]; // dlugosc wczytywanego bufora znakow
	cin.getline(temporary_char, sizeof(temporary_char)); // pobranie calej linii wraz z spacjami
	operative_string = temporary_char;
	explode(operative_string, " ", &exploded); // rozbicie ciagu na tablice [ciag, separator, zwrocona referencja]
	cout << "Elementow: " << exploded.size(); // zwrocenie ilosci elementow tablicy wektorowej
	return 0;
}Co do cyfr i liter, sprawa też jest stosunkowo prosta. Wczytujesz ciąg znaków do stringa, po czym w pętli przelatujesz po każdym znaku sprawdzając warunkiem, czy jest on literą, czy cyfrą. Długość zmiennej typu string możesz sprawdzić poprzez str.length();.for (int i = 0; i <= string.length(); ++i)
{
	// warunki
}
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych



 Temat jest zamknięty
 Temat jest zamknięty 
      
      




 
                    