Programowanie C++
Zadanie 1 Napisz program do obliczenia sumy i iloczynu ciągu liczb zakooczonego liczbą zero. Zakładamy, że ciąg zawiera co najmniej jedną liczbę (założenie to jest konieczne przy obliczeniu iloczynu, ponieważ dla pustego ciągu program wyprowadzał by wartośd 1 jako wyznaczony iloczyn)
Rozwiązanie #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int suma, iloczyn, liczba; // suma - suma ciągu liczbowego // iloczyn - iloczyn ciagu liczbowego // liczba - liczba w ciągu suma=0; iloczyn=1; cout<<"podaj liczby: "; cin >> liczba; while (liczba!=0){ suma+=liczba; iloczyn*=liczba; cin>>liczba; } cout <<"Suma liczb wynosi: "<<suma<<endl; cout<<"iloczyn liczb wynosi: "<<iloczyn; system("pause"); return EXIT_SUCCESS;
Zadanie 2 Należy wyznaczyd max i minimum w niepustym ciągu licz różnych od zera, zakooczonego zerem
Algorytm zadania 2 Czytaj liczbę Zapamiętaj ją jako dotychczasowe maksimum w zmiennej max Zapmiętaj ją jakod dotychczasowe minimum w zeminnej min While (liczba jest różna od zera){ If (liczba > dotychczasowe maksimum) Zapamiętaj liczbe jako dotychczasowe maksimum If (liczba < dotychczacowe minimum) Zapamiętaj liczbę jako dotychczasowe minimum Czytaj liczbę } Drukuj max Drukuj min
#include <cstdlib> #include <iostream> // program do wyznaczania max i min using namespace std; int main(int argc, char *argv[]) { int max, min, liczba; //max - liczba maksymalna ciągu; // min - liczba minimaolna ciągu; //liczba - liczba w ciagu cout << "Podaj liczby"<< endl; cin>> liczba; // przyjecie za maksimum i minium pierwszej liczby ciągu max=liczba; min=liczba; while (liczba!=0){ if (liczba>max) max=liczba; else if (liczba<min) min = liczba; cin>>liczba; } cout<<"maksimum wynosi: " <<max<<endl; cout<< "minimum wynosi: "<<min; system("pause"); return EXIT_SUCCESS; } Program zadanie 2
Zadanie 3 Program poświęcony jest wygenerowaniu ciągu tak zwanych liczb Fibonacciego. Liczby te są generowane w następujący sposób. Pierwsze dwie liczby sa równe 0 i 1, natomiast następne powstają poprzez obliczenia sumy dwóch poprzednich. Matematycznie liczby te przedstawiają się rekurencyjnym wzorem a 1 =0, a 2 =1,a n+2 =a n +a n+1. Poniżej przedstawiam klika liczb Fibonacciego : 0 1 1 2 3 5 8 13 21 34 55 Wyznacza n liczb Fibonacciego dla wczytanej wartości n.
Pomoc Pomoc=poprzednia+biezaca; Poprzednia = biezaca; Biezaca=pomoc; If (licznik % LINIA==0) Cout<< endl; Umożliwia wydruk w jednej linii tylu wygenerowanych liczb, ile wynosi wartośd stałej o nazwie LINIA. Przejście do następne linii następuje, gdy licznik jest wielokrotnością stałej LINIA, co oznacza, że doszliśmy do kooca linii
Rozwiązanie #include <fstream.h> #include <iomanip.h> #define LINIA 8 #define POLE 7 void main(void) { int poprzednia, biezaca, pomoc, licznik, n; cout << "Podaj ile chcesz wygenerowac liczb" << endl; cin >> n; poprzednia = 0; biezaca = 1; cout << setw(pole)<< poprzednia << setw(pole) << biezaca; for(licznik = 3; licznik <= n; licznik++) { pomoc = poprzednia + biezaca; poprzednia = biezaca; biezaca = pomoc; cout << setw(pole) << biezaca; if (licznik % LINIA == 0 ) cout << endl; } char x; cin >> x; }
Tablice Int t[10] deklaracja tablicy o wymiarze 10. Const NMAX=10; Int a[nmax] deklaracja tablicy jako zmienna, lecz przed zadeklarowaniem tablicy zmienna musi mied znaną wartośd Int tab [ ]={11,12,13,14,15} Int t [2][4] ={ {11,12,13,14} {21,22,23,24} } Int Tab[10] For (int i=0;i<=1-;i++){ Tab[i]=i; } - uzupełnienie każdego elementu w tablicy cyfrą
Zadanie 4 Należy wprowadzid do tablicy 10 liczb a następnie wydrukowad je ponownie w odwrotnej kolejności. (użytkownik z poziomu konsoli wprowadza dane do tablicy)
Zadanie 5 Wprowadzamy do tablicy n liczb a następnie program musi sprawdzid czy wśród wprowadzonych licz istnieje para liczb jednakowych. (użytkownik z poziomu konsoli wprowadza liczby do tabeli)
Zadanie 6 Zbuduj tablicę dwuwymiarową a następnie znajdź element minimalny w tablicy. (Wskazówka należy użyd dwie pętle for zagnieżdżone)
Zadanie 7 sortowanie bąbelkowe Należy posortowad tablicę tak aby najmniejszy element tablicy był na początku a największy na koocu tablicy. Sortowania należy dokonad metodą bąbelkową. Polega to na wielokrotnym przeglądaniu sąsiadujących ze sobą elementów tablicy od lewej strony do prawej. Po napotkaniu pary, dla której żądana kolejnośd nie jest spełniona, elementy tej tablicy są przestawione. Algorytm nazywa się bąbelkowy ponieważ większe liczby są unoszone do góry jak bąbelki na wodzie.
Przykład sortowania bąbelkowego 9 2 7 10 8 4 2 9 7 10 8 4 2 7 9 10 8 4 2 7 9 8 10 4 2 7 9 8 4 10 2 7 8 9 4 10. Pierwotny stan tablicy Krok 1 zamiana 9 2 Krok 2 zamiana 9 7 Krok 3 zamiana 10 8
Funkcje Korzyści wynikające z zastosowania funkcji : Program napisany z wykorzystaniem funkcji jest bardziej czytelny i zrozumiały Pewne powtarzające się fragmenty lub realizujące ściśle określone operacje mogą byd wyodrębnione i zapisane w postaci jednej funkcji Podczas uruchamiania i testowania programu można oddzielnie testowad poszczególne funkcje a następnie sprawdzid cały program.
Funkcja przykłady Deklaracje funkcji : { typ nazwa (specyfikacja parametrów) instrukcje } Przykład : Int SumaKwadratow (int n){ Int i, suma=0; For(i=1;i<=n;i++) Suma +=i*i; Return suma; } Nazwa funkcji to SumaKwadratów. Jest ona Typu int tzn. podaje wartośd typu int oraz ma Jeden parametr tego samego typu o nazwie n. Każda funkcja przed jej wykonaniem powinna byd najpierw zadeklarowana poprzez podanie Tzw prototypu funkcji (patrz przykład poniżej) Oraz w nawiasach powinna mied zadeklarowane parametry formalne. Return powoduje zakooczenie wykonania Funkcji i powrót do miejsca jej wywołania.
#include <cstdlib> #include <iostream> Funkcje przykład Program powinien wyliczyd sumę kwadratów liczba : 1^2+2^2+.n^2= Użytkownik powinien podad liczbę n. int SumaKwadratow(int n); using namespace std; int main(int argc, char *argv[]) { int n, k, wynik; cout << "Podaj wartosc zmiennej n" << endl; cin >> n; wynik = SumaKwadratow(n); cout << "Suma kwadratow dla n = " << n << " wynosi " << wynik << endl; cin >> k; system("pause"); return EXIT_SUCCESS; } int SumaKwadratow(int n) { int i, suma = 0; for (i=1; i<=n; i++) suma += i*i; return (suma); }
Zadanie8 Należy napisad program który liczy sumę potęg. 1^k+2^k+ n^k Należy do nagłówka programu dodad: # include <math.h> I wykorzystad polecenie pow(i,k)