#include <cstdlib> #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> w; vector<int>::iterator it; for(int i=1;i<=49;i++) w.push_back(i); cout << "Zawartosc wektora\n"; for(it=w.begin();it!=w.end();it++) cout << *it << " "; cout << endl; cout << "Size=" << w.size() << " Capacity=" << w.capacity() << endl; srand(time(NULL)); cout << "Random shuffle (numery lotto)\n"; random_shuffle(w.begin(),w.end()); for(it=w.begin();it!=w.begin()+6;it++) cout << *it << " "; cout << endl; }
#include <iostream> #include <string> #include <map> using namespace std; int main() { string w; map<string,int> slownik; map<string,int>::iterator it; while(cin >> w) slownik[w]++; for(it=slownik.begin(); it!=slownik.end(); it++) cout << (*it).first << " " << (*it).second << endl; }
using System; using System.Collections.Generic; namespace Lotto { class Program { static void Main(string[] args) { List<int> lista = new List<int>(); for (int i = 1; i <= 49; i++) lista.Add(i); Console.WriteLine("Zawartośc kolekcji"); foreach (int i in lista) Console.Write("{0} ", i); Console.WriteLine("\n\nSize={0} Capacity={1}", lista.Count, lista.Capacity); Console.Write("Losowanie Lotto: "); Shuffle<int>(lista); for (int i = 0; i < 6; i++) Console.Write("{0} ", lista[i]); Console.WriteLine(); lista.Sort(); } public static void Shuffle<T>(List<T> sequence) { Random random = new Random(); for (int i = 0; i < sequence.Count; i += 1) { int swapIndex = random.Next(sequence.Count); if (swapIndex != i) { T tmp = sequence[i]; sequence[i] = sequence[swapIndex]; sequence[swapIndex] = tmp; } } } } }
using System; using System.Collections.Generic; namespace Dictionary { class Program { static void Main(string[] args) { string line; SortedDictionary<string, int> slownik = new SortedDictionary<string, int>(); while ((line = Console.ReadLine()) != null) { if (!slownik.ContainsKey(line)) slownik.Add(line,1); else slownik[line]++; } foreach (KeyValuePair<string, int> kvp in slownik) Console.WriteLine("{0} {1}", kvp.Key, kvp.Value); } } }
Do wykonania tego zadania szablon klasy Wektor powinien posiadać zaimplementowany iterator o swobodnym dostępie oraz metody begin i end() zgodnie z treścią jednego z poprzednich zadań.
Przetestuj działanie algorytmów sort(), reverse(), fill(), rotate(), replace(), random_shuffle, min_element() na kolekcji Wektor.
fill
count_if
. Warunek do sprawdzenia przekaż jako wskaźnik do odpowiedniej funkcji.replace_if
. Warunek do sprawdzania przekaż za pomoca obiektu funkcyjnego (obiektu przeciążającego operator()).
Zaimplementuj klasę Wyraz
służącą do obsługi łańcuchów znaków składających się wyłącznie z liter.
Klasa Wyraz
:
Wektor<char>
Przykład działania:
Wyraz w; while(!cin.eof()) { cin >> w; cout << w << endl; }
Przydatne funkcje:
string.h
: isapha
, tolower
, toupper
, strcmp
iostream.h
: get(char z)
, put(char z)
, eof()
Wykorzystaj kolekcję Map oraz klasę Wyraz do stworzenia słownika zgodnie z treścią zadania z pierwszych zajęć.