Forum Sojusz Fallen
Fallen
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Struktury - Przykład (Wektory) + Omówienia + Zadania

 
Napisz nowy temat   Odpowiedz do tematu    Forum Sojusz Fallen Strona Główna -> Ściągi, Zadania itp. / PSiO / C++
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Ricko
Brain
<FONT COLOR=DAA520>Brain</FONT>



Dołączył: 07 Sie 2006
Posty: 3255
Przeczytał: 0 tematów

Pomógł: 5 razy
Ostrzeżeń: 0/5
Skąd: ..::Zabrze::..

PostWysłany: Pon 20:50, 03 Paź 2011    Temat postu: Struktury - Przykład (Wektory) + Omówienia + Zadania

PROGRAM, KTÓRY GRUPA I OTRZYMAŁA DO PRZEROBIENIA (Dodałem opisy instrukcji)

#include <iostream>
#include <cstdio>
using namespace std; // standardowe biblioteki //

struct punkt // deklarujemy strukturę o nazwie PUNKT, posiada ona w swoim składzie dwie zmienne typu float oznaczające współrzędne punktów //
{
float wsp_x;
float wsp_y;
};

struct wektor // deklarujemy kolejną strukturę o nazwie WEKTOR, zawiera ona zagnieżdżone dwie struktury "punkt" oznaczające początek i koniec wektora //
{
punkt poczatek;
punkt koniec;
};

int main() // program główny //
{
punkt p; // deklarowanie zmiennej typu PUNKT //
wektor w; // deklarowanie zmiennej typu WEKTOR //
cout << "Podaj wspolrzedna X poczatku wektora: "; // Pobieranie współrzędnych dwóch punktów wektora //
cin >> w.poczatek.wsp_x; // pobieranie wygląda następująco: zmienna typu wektor (w) -> zagnieżdżona w strukturze WEKTOR struktura typu PUNKT (poczatek) -> zmienna w strukturze PUNKT (wsp_x) //
cout << "Podaj wspolrzedna Y poczatku wektora: ";
cin >> w.poczatek.wsp_y;
cout << "Podaj wspolrzedna X konca wektora: ";
cin >> w.koniec.wsp_x;
cout << "Podaj wspolrzedna Y konca wektora: ";
cin >> w.koniec.wsp_y;
p.wsp_x = 0.5*(w.poczatek.wsp_x+w.koniec.wsp_x); // obliczanie środka wektora - zmienna typu PUNKT (p) -> jej zmienna (wsp.x) //
p.wsp_y = 0.5*(w.poczatek.wsp_y+w.koniec.wsp_y);
cout << "Oto wspolrzedne srodka wektora: " << p.wsp_x << " , " << p.wsp_y; // wypisywanie współrzędnych środka wektora //
cin.ignore();
getchar();
return 0;
}

_____________________________________________________________

POLECENIA DO ZROBIENIA:

Zmodyfikuj powyższy program!!!
a) Wewnątrz struktury wektor zadeklaruj funkcję do wczytywania współrzędnych
b) Wewnątrz struktury wektor zadeklaruj funkcję do wypisywania współrzędnych
c) Wewnątrz struktury wektor zadeklaruj funkcję do obliczania środka wektora.
d) Wewnątrz struktury wektor zadeklaruj funkcję do obliczania długości wektora.(należy wykorzystać tw. Pitagorasa, dołączmy bibliotekę math )
e) Zastosuj wszystkie funkcje wewnątrz funkcji głównej main.

_____________________________________________________________

CZYSTY PROGRAM:

Cytat:
#include <iostream>
#include <cstdio>
using namespace std;

struct punkt
{
float wsp_x;
float wsp_y;
};

struct wektor
{
punkt poczatek;
punkt koniec;
};

int main()
{
punkt p;
wektor w;
cout << "Podaj wspolrzedna X poczatku wektora: ";
cin >> w.poczatek.wsp_x;
cout << "Podaj wspolrzedna Y poczatku wektora: ";
cin >> w.poczatek.wsp_y;
cout << "Podaj wspolrzedna X konca wektora: ";
cin >> w.koniec.wsp_x;
cout << "Podaj wspolrzedna Y konca wektora: ";
cin >> w.koniec.wsp_y;
p.wsp_x = 0.5*(w.poczatek.wsp_x+w.koniec.wsp_x);
p.wsp_y = 0.5*(w.poczatek.wsp_y+w.koniec.wsp_y);
cout << "Oto wspolrzedne srodka wektora: " << p.wsp_x << " , " << p.wsp_y;
cin.ignore();
getchar();
return 0;
}


_____________________________________________________________

PROGRAM PO WYKONANIU POLECEŃ

#include <iostream>
#include <cstdio>
#include <math.h>
using namespace std;

struct punkt
{
float wsp_x;
float wsp_y;
};

struct wektor
{
punkt poczatek;
punkt koniec;
void podajwsp ();
void drukujwsp ();
void srodek ();
void dlugosc ();

};


void wektor::podajwsp()
{
cout << "Podaj wspolrzedna X poczatku wektora: ";
cin >> poczatek.wsp_x;
cout << "Podaj wspolrzedna Y poczatku wektora: ";
cin >> poczatek.wsp_y;
cout << "Podaj wspolrzedna X konca wektora: ";
cin >> koniec.wsp_x;
cout << "Podaj wspolrzedna Y konca wektora: ";
cin >> koniec.wsp_y;
}

void wektor::drukujwsp()
{
cout << "Poczatek: X " << poczatek.wsp_x << " Y " << poczatek.wsp_y << endl;
cout << "Koniec: X " << koniec.wsp_x << " Y " << koniec.wsp_y << endl ;
}

void wektor::srodek()
{
float x,y;
x = 0.5*(poczatek.wsp_x+koniec.wsp_x);
y = 0.5*(poczatek.wsp_y+koniec.wsp_y);
cout << "Oto wspolrzedne srodka wektora: " << x << " , " << y << endl;
}

void wektor::dlugosc()
{
float d;
d = sqrt (((koniec.wsp_x - poczatek.wsp_x)*(koniec.wsp_x - poczatek.wsp_x)) + ((koniec.wsp_y - poczatek.wsp_y)*(koniec.wsp_y - poczatek.wsp_y)) );
cout << "Dlugosc wektora wynosi: " << d << endl;

}


int main()
{
punkt p;
wektor w;
w.podajwsp();
w.drukujwsp();
w.srodek();
w.dlugosc();

cin.ignore();
getchar();
return 0;
}


Post został pochwalony 0 razy

Ostatnio zmieniony przez Ricko dnia Pon 20:56, 03 Paź 2011, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Sojusz Fallen Strona Główna -> Ściągi, Zadania itp. / PSiO / C++ Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin