praca semestralna z PSiO semestr 2, Informatyka, Technikum, PSiO, praca zaliczeniowa z PSiO


Zespół Szkół Elektryczno-mechanicznych

Praca kontrolna z PSiO

Opracował:

Artur Bojko

Legnica rok szkolny 2009/2010

Zadanie 1

#include <iostream>

#include <stdlib.h>

using namespace std;

int tab[10];

void zer()

{

for (int a = 0; a < 10; a++)

{

tab[a] = 0; //całej tablicy przypisuje zera

} //proste i genialne jak niemożesz usunąć to to zmień na nic

}

void los()

{

srand (time(NULL));

for(int a=0;a<10;a++)

{

tab[a] = rand()%100; // pseudo losowa liczba jest wpisywana w tablicę

}; // rand podaje ilość cykli procesora w 0.01s

};

int Max()

{

int max = tab[0];

for(int a = 0; a < 10; a++)

{

if(tab[a]>max) max = tab[a]; //jeśli liczba jest wieksza od poprzedniej

} //to jest zapisywana i sprawdzana z kolejną

return max;

}

int Min()

{

int min = tab[0];

for(int a = 0; a < 10; a++)

{

if(tab[a]<min) min = tab[a]; //jeśli liczba jest mniejsza od poprzedniej

} //to jest zapisywana i sprawdzana z kolejną

return min;

}

double sre()

{

int su;

for(int a = 0; a < 10; a++)

{

su+=tab[a]; //sumujemy wartość z tablicy z wartością su

}

return su / 10;

}

int powt(int n)

{

int su = 0;

for(int a = 0; a < 10; a++)

{

if(tab[a] == n) su++; //jeśli a jest takie samo jak n

} //to su jest zwiększane o 1

return su;

}

int podz(int n)

{

int su = 0;

for(int a = 0; a < 10; a++)

{

if( (tab[a] % n) == 0) // jeśli reszta jest zerem to liczba jest

{ //podzielna przez liczbę podaną

su++;

};

}

return su;

}

int main()

{ //dalej są już tylko komendy wywołuwawczei ze dwie pentle,

system("color 04"); //w tej linijce czerwony kolor tekstu

cout << "Zerowanie tablicy\n";

zer();

cout << "Wypelnianie tablicy...\n";

los();

cout << "Najwieksza wartosc w tablicy wynosi : " << Max() << "\n";

cout << "Najmniejsza wartosc w tablicy wynosi: " << Min() << "\n";

cout << "Srednia elementow : " << sre() <<"\n";

cout << "Ilość powtużeń jakiej liczby chcesz sprawdzić?";

cout<<"Podaj tę liczbę: ";

int wyli; cin >> wyli;

if(powt(wyli) == 0) cout << "Wprowadzona liczba nie zostala wylosowana ani razu.\n";

else if (powt(wyli) == 1) cout << "Podana liczna zostala wylosowana 1 raz ";

else cout << "Podana liczna zostala wylosowana " << powt(wyli) << " razy.\n";

cout << "Podaj liczbę dla kturej chcesz sprawdzić dzielniki wylosowane w tablicy.\n";

cout<<"Liczba to: ";

cin >> wyli;

podz(wyli);

cout <<"Takich liczb w tablicy jest: " << podz(wyli)<<"\n";;

system("pause");

return 0;

}Zadanie 2

#include <iostream>

using namespace std;

class Osoba //klasa

{

private:

char naz[20]; //zmiene prywatne...

int wiek;

public: //niewiem co tu można opisywać nic nadzwyczajnego

Osoba() // deklaracja i używanie zmiennych muwię o całej pracy

{

wiek = 0;

}

void Dopisz(char* nnaz, int nwiek)

{

if(nwiek>0)

{

strcpy(naz,nnaz);

wiek = nwiek;

}

else

{

cout << "Niemożesz podawać lat ujemnych i 0.\n";

}

}

int Zmien(char* nnaz, int nwiek)

{

if(wiek>0) //bardzo fajny warunek puźniej też stosowany

{ //niemogłem sprawdzić czy jest jakieś nazwisko czy go

strcpy(naz,nnaz);//więc sprawdzam czy wiek jest większy od 0

wiek = nwiek; //ktoś podrzucił mi ten pomysł, badzo skutreczny

return 0;

}

else

{

cout << "Nie można zmienic danych gdyż ich niema.\n";

return 1;

}

}

int Drukuj()

{

if(wiek>0)

{

cout << "Nazwisko: " << naz << ", Wiek: " << wiek << "\n";

return 0;

}

else

{

cout << "Nie można wydrukować danych gdyż ich niema.\n";

return 1;

}

}

int Skasuj()

{

if (wiek>0)

{

cout << "Usuwam : " << naz << "," << wiek << "\n";

wiek = 0;

strcpy(naz,"");

return 0;

}

else

{

cout << "Nie można skasować danych gdyż ich niema.\n";

return 1;

}

}

};

int main()

{

Osoba abc;

cout << "Wprowadz nazwisko : "; char* naz = new char[20]; cin >> naz;

cout << "Wprowadz wiek : "; int wiek; cin >> wiek;

abc.Dopisz(naz,wiek);

cout << "\nWprowadz nowe nazwisko : "; char* naz2 = new char[20]; cin >> naz2;

cout << "Wprowadz nowy wiek : "; int wiek2; cin >> wiek2;

cout<<endl;

abc.Zmien(naz2,wiek2);

cout<<endl;

abc.Drukuj();

cout<<endl;

abc.Skasuj();

abc.Drukuj();

system("pause");

return 0;

}Zadanie 3

#include <iostream>

using namespace std;

string im;

string naz;

string przed[5];

double oc[5];

int jed,sum;

double sre;

int main()

{

system("color 04");

cout << "Podaj imię ucznia: "; cin >> im;

cout << "Podaj nazwisko ucznia: "; cin >> naz;

cout<<"\n";

for(int a = 0; a < 5; a++)

{

cout << "Podaj przedmiot : "; cin >> przed[a];

}

cout <<"\n";

for(int a = 0; a < 5; a++)

{

cout << "Podaj ocene z przedmiotu " << przed[a] << ": "; cin >> oc[a];

}

cout <<"\n";

sum=oc[0]+oc[1]+oc[2]+oc[3]+oc[4];

sre=sum/5;

for(int a = 0; a < 5; a++)

{

if(oc[a] == 1) jed++;

}

switch(jed)

{

case 0:

cout << "Uczen zdal do nastepnej klasy. Jego srednia to: " << sre <<"\n";

break;

case 1:

cout << "Uczen ma 1 poprawke. Jego srednia to: " << sre<<"\n";

break;

default:

cout << "Uczeń niezdał\n";

break;

}

system("pause");

return 0;

}Zadanie 4

Sortowanie metoda bąbelkową polega na porównywaniu dwóch kolejnych liczb. Tak więc jeśli mamy 4,18,5,3 porównujemy najpierw 4 z 18, druga jest większa więc porównujemy 18 z 5, tym razem ta pierwsza jest większa więc zamieniamy miejscami 18 z 5, teraz mamy 4,5,18,3. następnie porównujemy 18 z 3. Zamieniamy je miejscami. Teraz od początku. Porównujemy 4 z 5 druga jest większa więc zostają na swoich miejscach, 5 z 3 i je zamieniamy. W tym momencie mamy 4,3,5,18, porównujemy 5 z 18 zostają na sowich miejscach. Znowu zaczynamy od początku. 4 z 3, zamieniamy je miejscami, 4 z 5, 5 z 18. W tym momencie po raz ostatni porównujemy wszystkie liczby, w poszukiwaniu przesunięć, gdy żadnych nie znajdujemy mamy posegregowane liczby.

0x01 graphic

#include <iostream>

using namespace std;

int tab[4]={111,65,1,34}; //tablica cztero elementowa

int pam; //trzeci kubek czyli zmienna do przenoszenia

int main()

{

system("color 04");

cout<<"Metoda bombelkowa\n";

cout<<"Tablica niepoukladana wyglada tak:\n";

for(int a=0; a<4; a++) //pentla zwraca wartosci w tablicy

{

cout<<"Wartosc "<<a+1<<" tablicy to: "<<tab[a]<<" \n";

};

cout<<"A to już poukładana tablica\n";

for(int tabli=0; tabli<2; tabli++)

{

for (int a=0, b=1; a<3; a++, b++) //pentla do porównywania

{ //dwuch kolejnych liczb

if (tab[a]>tab[b])

{ //jeśli warunek jest spełniony

pam=tab[b]; //liczby zamieniają się miejscami

tab[b]=tab[a];

tab[a]=pam; //tzw trzeci kubek do przechowywania liczby

pam=0;

};

};

};

for(int a=0; a<4; a++) //wydrukowuje uporządkowane liczby

{

cout<<"wartosc "<<a+1<<" tablicy to: "<<tab[a]<<" \n";

};

system("pause");

return 0;

}

Programowanie strukturalne i obiektowe

Semestr 2

7

Artur Bojko



Wyszukiwarka

Podobne podstrony:
zalizczenie- pytania, PG inżynierka, Semestr 3, Mechanika Techniczna II, laborki, zaliczenie
praca zaliczeniowa z PSiO semestr 2, Zespół Szkół Elektryczno-mechanicznych
TI praca zaliczeniowa Firma sem zim 11 12, UG - wzr, I semestr Zarządzanie rok akademicki 11 12, I s
Biznes plan - praca zaliczeniowa, Studia - materiały, semestr 7, Zarządzanie, Marketing, Ekonomia, F
BHP - praca zaliczeniowac, politechnika, GiG semestr 1, BEZPIECZEŃSTWO PRACY
Praca zaliczeniowa z filozofii Platon demokracja, 1 semestr
praca zaliczeniowa z SBW, WSPiA bezpieczeństwo wewnętrzne, I rok, II semestr, Bezpieczeństwo wewnętr
Wstęp do socjologii ćwiczenia Obserwacja socjologiczna praca zaliczeniowa (semestralna)x
praca zaliczeniowa z PSiO, Testy
praca zaliczeniowa, WSPiA bezpieczeństwo wewnętrzne, III Rok, semestr VI, Bezpieczeństwo publiczne P
PRACA ZALICZENIOWAx, PSYCHOLOGIA, Semestr II, Zdrowie
filozofia z logiką- praca zaliczeniowa, WSPiA bezpieczeństwo wewnętrzne, II ROK, III semestr, Filozo
Zagrożenia Radiologiczne praca zaliczeniowa dla prof. Bartkiewicza Monitorowanie zagrożeń, 7 sem od
Analiza ekonomiczna przedsiębiorstw - praca zaliczeniowa, Studia - materiały, semestr 7, Zarządzanie
Stefka - praca zaliczeniowa - budownictwo, politechnika, GiG semestr 1, BEZPIECZEŃSTWO PRACY
Praca zaliczenie, II rok II semestr, BWC, Gospodarowanie walorami
Praca zaliczeniowa- pierwsza strona, Nauka, Doktorat II rok, Metody ilościowe w badaniach naukowych,
praca zaliczeniowa z AON, WSPiA bezpieczeństwo wewnętrzne, I rok, II semestr, aon
pytania 3, Informatyka ns 2009-2013, Semestr II, Technika Cyfrowa

więcej podobnych podstron