FUNKCJE MATEMATYCZNE, np. atan2(y,x);

Podobne dokumenty
Obliczenie azymutów ze współrzędnych punktów Azymuty i długości - tablica struktur, funkcje, zapis wyników do pliku

Obliczenie azymutów ze współrzędnych punktów tablica struktur punktów, tablica struktur azymutów

Obliczenie pola wieloboku na podstawie współrzędnych wierzchołków

// Funkcja glowna int main() { // zmienne int kont='t'; double x1, y1, x2, y2, x3, y3, a, b, c, p1, p2, p3, pole, ha, hb, hc;

Wstęp do Informatyki

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

INSTRUKCJE REPETYCYJNE PĘTLE

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

Obliczenie azymutu ze współrzędnych wersja C++ Builder

Zmienne i struktury dynamiczne

Instrukcje wejścia i wyjścia getchar(), gets(), scanf() puchar(), puts(), printf() Wejście: getchar() gets() scanf() Specyfikatory formatowania

Wcięcie kątowe wstecz

Część 4 życie programu

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

INSTRUKCJE REPETYCYJNE PĘTLE

Ćwiczenie nr 3. Temat: Definicje i wykorzystanie funkcji, parametry funkcji

DYNAMICZNE PRZYDZIELANIE PAMIECI

tablica: dane_liczbowe

Wstęp do programowania 1

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.

Rozwiązanie. #include <cstdlib> #include <iostream> using namespace std;

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h>

Język ludzki kod maszynowy

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Podstawy Programowania Podstawowa składnia języka C++

Podstawy programowania C. dr. Krystyna Łapin

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Języki i paradygmaty programowania 1 studia stacjonarne 2018/19

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Alokacja pamięci dla tablicy dwuwymiarowej

C++ wprowadzanie zmiennych

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

Obliczenie ciągów poligonowych otwartych, obustronnie nawiązanych

typ_zwracanej_wartości nazwa_funkcji(lista deklaracji argumentów) { ciało(treść) funkcji return Val; //zwracana wartość }

I - Microsoft Visual Studio C++

typ y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Pole trójkąta ze współrzędnych punktów : P1(x1,y1), P2(x2,y2), P3(x3,y3)

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Co nie powinno być umieszczane w plikach nagłówkowych:

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

Wstęp do Programowania, laboratorium 02

Instrukcje sterujące

Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.

Podstawy Programowania C 03

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

Programowanie Procedurale

void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog);

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

Wykład :37 PP2_W9

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

Ćwiczenia podstawowe, zestaw 5, część 1

Dariusz Chaberski. UMK Toruń

Plik klasy. h deklaracje klas

Funkcja (podprogram) void

Proste programy w C++ zadania

Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński

Programowanie Proceduralne

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Wstęp do programowania

Ćwiczenie 4 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Podstawy programowania w C materiały dla ucznia:

Projektowanie klas c.d. Projektowanie klas przykład

1,3,4,2,3,4,0,1,4,5,0. Wówczas największa suma trzech kolejnych liczb (zaznaczone na czerwono) wynosi:

wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy

Programowanie strukturalne i obiektowe

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

Wskaźniki. Programowanie Proceduralne 1

Programowanie obiektowe 2005/2006. Laboratorium 1. Przeciążanie funkcji

Funkcje i tablice. Elwira Wachowicz. 23 maja 2013

Przeciążanie funkcji. Przykład 1: #include <iostream> using namespace std; double srednia(double n1, double n2) { return ((n1 + n2)/2.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Pliki wykład 2. Dorota Pylak

Program 22. #include <iostream> using namespace std; struct Osoba { string Imie; string Nazwisko; char Plec; int RokUr; };

2 Przygotował: mgr inż. Maciej Lasota

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Język C, tablice i funkcje (laboratorium)

while (test) instrukcja; int i=0; while (i<10) i++; dopóki test prawdziwy wykonuj instrukcję Wykonano: 35% / \ fałsz test prawda instrukcja

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Język C, tablice i funkcje (laboratorium, EE1-DI)

( wykł. dr Marek Piasecki )

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Transkrypt:

FUNKCJE MATEMATYCZNE, np. atan2(y,x); /* az_tan2a.c - obliczenie azymutu - funkcja atan2(y,x); instrukcja do while */ #include <math.h> #define PI 3.14159265 int main () double x1, y1, x2, y2, x, y, result, az, d; int kont=1; puts("obliczenie azymutu na podstawie funkcji atan2(dy,dx)"); puts("tan(az)=dy/dx"); do printf("\nwprowadz X1 Y1 "); scanf("%lf %lf", &x1, &y1); printf("\nwprowadz X2 Y2 "); scanf("%lf %lf", &x2, &y2); x=x2-x1; y=y2-y1; printf("dx=%f Dy=%f\n",x,y); result = atan2 (y,x) * 200.0 / PI; az=result; if (result <0) az=result+400.0; d=sqrt(x*x+y*y); printf("\npi=%lf M_PI=%lf",PI, M_PI); printf ("\natan2 dla (DX=%lf, DY=%lf) = %lf[grad]\n", x, y, result); printf ("\ndx=%.3f DY=%.3f Az = %.4f[grad] Dl=%.3f\n", x, y, az, d ); printf("\n 1- obliczenia, 0 - koniec "); scanf("%d",&kont); while (kont!= 0); TABLICE // tabl1.cpp - Srednia z liczb - tablica, petla for int rozmiar; cout <<"podaj ilosc liczb: "; cin >>rozmiar; float tablica[rozmiar]; float suma = 0; for (unsigned int i = 0; i < rozmiar; ++i) //pobieranie liczb... // for cout <<"Podaj liczbe nr "<<(i+1)<<" : "; cin >>tablica[i]; suma += tablica[i]; //sumowanie elementów... // for cout <<"\nsrednia wynosi: "<< (suma / rozmiar)<<endl; cin.get(); // tabldyn.cpp - Tablica dynamiczna

#include <cstdlib> int* Tablica; //Wskaźnik na dynamicznie przydzieloną tablicę int ile; //Rozmiar tablicy cout << "Tablica dynamiczna \n"; cout << "Jak duza ma byc tablica? => "; cin >> ile; Tablica = new int[ile]; for (int n=0; n<ile; n++) cout << "Podaj element numer " << n << " => " ; cin >> Tablica[n]; cout << endl << "Zawartosc tablicy:\n"; for (int n=0; n<ile; n++) cout << n << " => " << Tablica[n] << endl; delete [] Tablica; cin.get(); // system("pause"); WSKAŹNIKI // zamianaw.cpp - zmiana wartości parametrów aktualnych przez wskaźnik #include <cstdlib> void ZmienWsk (int *a, int *b) int pom; cout << "2) Funkcja - przed zamiana: a=x=" << *a << " b=y=" << *b << endl; pom =*b; *b=*a; *a=pom; cout << "3) Funkcja po zamianie a= " << *a << " b=" << *b << endl; int x=10, y=30; cout << "Zmiana wartosci zmiennych przez wskaznik" << endl; cout << "1) Funkcja glowna przed zamiana: x=" << x << " y=" << y << endl; ZmienWsk (&x,&y); cout << "4) Funkcja glowna: po zamianie: x=" << x << " y=" << y << endl; getch(); // zamianar.cpp - zamiana wartości parametrów aktualnych przez referencje #include <cstdlib>

void ZmienRef (int &a, int &b) int pom; cout << "\n2) Funkcja - przed zamiana: a=x=" << a << " b=y=" << b << endl; pom =b; b=a; a=pom; cout << "\n3) Funkcja po zamianie a= " << a << " b=" << b << endl; int x=10, y=30; cout << "Zmiana wartosci zmiennych przez referencje" << endl; cout << "Podaj wartosc calkowita x "; cin >> x; cout << "Podaj wartosc calkowita y "; cin >> y; cout << "\n1) Funkcja glowna przed zamiana: x=" << x << " y=" << y << endl; ZmienRef (x,y); cout << "\n4) Funkcja glowna: po zamianie: x=" << x << " y=" << y << endl; getch(); TABLICE // pp_fort.cpp Obliczenie pola prostokąta. for, system, cout.precision #include <cstdlib> #define MAX 50 #define SW 15 #define WYDR cout.fill(' '); cout.width(10); // Program glowny. Najwazniejsza czesc programu double a, b, p; // zmienne rzeczywiste podwojnej precyzji 8 bajtow, 15 cyfr znaczacych int i=0, m=0, n=0; // zmienna petli, ilosc faktyczna obl, ilosc zadeklarowana obliczen int d; // dokladnosc wydruku po kropce dziesietnej double ta[max], tb[max], tp[max]; // pocz: system("cls"); // kasowanie ekranu cout << "Program pp_fort.cpp\n"; cout << "Petla for, tablica" << endl; cout << "\noblicznie pola prostokata o danych bokach a i b \n(zmienne double - 15 cyfr znaczacych)" << endl; cout<<"\nwprowadz ilosc obliczen < " << MAX << " : " ; ; // ilosc obliczen do cin>> n; // Wprowadzenie a // Odrzuca Enter while (n > MAX); // if (n==0) return 1; // Ustalenie dokladnosci wydruku cout.width(20); // minimalna ilosc znakow wypisywanej liczby cout.setf(ios::fixed); // zapewnia ze precision() odnosi sie do miejsc po kropce cout << "\ndokladnosc wydruku? " ; cin >> d; cout.precision(d); // precyzja (patrz wyzej o ios::fixed) for (i=1; i<=n; i++) // for - poczatek

cout << "\nobliczenie: " << i << endl; cout<<"\wprowadz a (ujemne - pominiete) lub 0 koniec programu: "; // bok a cin>> a; // Wprowadzenie a // Odrzuca Enter m=i; if (a < 0) i--; continue; if (a == 0) m = --i; break; cout<<"wprowadz b : "; // Pyta o b cin>> b; // Wprowadzenie b; Odrzuca Enter p=a*b; cout<<"pole prostokata o bokach a = " << a << " i b = " << b ; cout << " wynosi "; cout << p << endl; // Wyswietla wyniki ta[i]=a; tb[i]=b; tp[i]=p; // for - koniec if (m>0) cout << "\nwyniki obliczen - wydruk elemntow tablicy w petli for" << endl; for (i=1; i<=m; i++) cout << "Obliczanie: " << i; cout << " a = "; WYDR; cout << ta[i]; cout << " b = "; WYDR; cout << tb[i]; cout << " Pole = "; WYDR; cout << tp[i] << endl; // goto pocz; cout << endl << "Koniec obliczen " << endl; system("pause"); TABLICE, STRUKTURY, ZAPIS DO PLIKU /* pp_forst.c - Pola działek prostokątnych. Pętla for, struktura, system, plik */ #define MAX 50 #define NL putchar('\n') #define WYN "pprostt.txt" struct dzialka int nr; char nazwa[10]; float a, b, p; t[max]; float a, b, pole; int i=0, j=0, n=0; char flaga = 'T'; FILE *fp; /* zmienna plikowa */ fp = fopen(wyn, "w"); system("cls"); puts("obliczenie pol dzialek prostokatnych"); NL; do printf("podaj dane dzialki %d \n",i+1); printf("podaj nr dzialki (liczba calkowita) : "); scanf("%d",&t[i].nr); fflush(stdin); printf("podaj nazwe dzialki : "); gets(t[i].nazwa); fflush(stdin); printf("podaj dlugosc a: "); scanf("%f",&t[i].a); fflush(stdin);

printf("podaj dlugosc b: "); scanf("%f",&t[i].b); fflush(stdin); pole=t[i].a*t[i].b; printf("\npole = %f\n",pole); t[i].p=pole; i++; if (i<max) printf("\nczy wprowadzasz nastepne dane? T lub N: "); flaga=getchar(); putchar('\n'); fflush(stdin); while (i<max && (flaga == 'T' flaga == 't') ); n=i; puts("\nzestawienie obliczen pol dzialek\n"); fprintf(fp,"\n Zestawienie obliczen pol dzialek\n"); printf("lp Nr dz. Nazwa a b pole \n"); fprintf(fp, "Lp Nr dz. Nazwa a b pole \n"); for (j=0; j<n; j++) printf("%3d %5d %6s %7.2f %7.2f %8.2f\n", j+1, t[j].nr, t[j].nazwa, t[j].a, t[j].b, t[j].p ); fprintf(fp,"%3d %5d %6s %7.2f %7.2f %8.2f\n", j+1, t[j].nr, t[j].nazwa, t[j].a, t[j].b, t[j].p ); fclose(fp); // zamkniecie pliku printf("\nwyniki w pliku %s", WYN); getch(); // pp_forst1.cpp - Pola działek prostokątnych. Pętla for, struktura, system, tablica, plik #include <cstdlib> #define MAX 50 #define NL putchar('\n') /* plik wynikow */ #define WYN "pprostt.txt" struct dzialka int nr; char nazwa[10]; float a, b, p; ; // Program glowny. Najwazniejsza czesc programu dzialka t[max]; float a, b, pole; int i, j=0, n=0; char flaga = 'T'; FILE *fp; /* zmienna plikowa */ fp = fopen(wyn, "w"); system("cls"); puts("obliczenie pol dzialek prostokatnych"); NL; i=0; do printf("podaj dane dzialki %d \n",i+1); cout << "Podaj nr dzialki (liczba calkowita) : "; cin >> t[i].nr; printf("podaj nazwe dzialki : "); gets(t[i].nazwa); fflush(stdin); cout << "Podaj dlugosc a: "; cin >> t[i].a; cout << "Podaj dlugosc b: "; cin >>t[i].b; pole=t[i].a*t[i].b; cout << pole << endl;

t[i].p=pole; i++; if (i<max) cout << "\nczy wprowadzasz nastepne dane? T lub N: "; flaga=getchar(); putchar('\n'); while (i<max && (flaga == 'T' flaga == 't') ); n=i; puts("\nzestawienie obliczen pol dzialek\n"); fprintf(fp," Zestawienie obliczen pol dzialek\n"); cout << "Lp Nr dz. Nazwa a b pole \n"; fprintf(fp, "Lp Nr dz. Nazwa a b pole \n"); for (j=0; j<n; j++) printf("%3d %5d %6s %7.2f %7.2f %8.2f\n", j+1, t[j].nr, t[j].nazwa, t[j].a, t[j].b, t[j].p ); fprintf(fp,"%3d %5d %6s %7.2f %7.2f %8.2f\n", j+1, t[j].nr, t[j].nazwa, t[j].a, t[j].b, t[j].p ); fclose(fp); // zamkniecie pliku cout << "Wyniki w pliku " << WYN << endl; cin.get(); /* az_tabf.cpp Azymuty i dlugosci - tablica struktur, funkcje, zapis wynikow do pliku */ #include <stdlib.h> #include <math.h> #define WYN "w_azdl.txt" struct pkty long int nr1, nr2; double x1, y1, x2, y2, azy, azy2, dlug; ; // Deklaracje funkcji double az2(double x1, double y1, double x2, double y2); double azymgr(double x1, double y1, double x2, double y2); double odl(double x1, double y1, double x2, double y2); // Definicje funkcji void czytaj (pkty c[],int i) int j ; puts("wprowadzenie danych: \n"); for(j=0; j<i; j++) printf ("\nlp: %d \n",j+1); printf("nrp Xp Yp => "); fflush(stdin); scanf("%ld %lf %lf",&c[j].nr1, &c[j].x1, &c[j].y1); printf("\nnrk Xk Yk => "); fflush(stdin); scanf("%ld %lf %lf",&c[j].nr2, &c[j].x2, &c[j].y2); c[j].azy=az2(c[j].x1, c[j].y1, c[j].x2, c[j].y2); c[j].azy2=az2(c[j].x1, c[j].y1, c[j].x2, c[j].y2); c[j].dlug=odl(c[j].x1, c[j].y1, c[j].x2, c[j].y2); fflush(stdin); void wyswietl (pkty d[],int i) int j; FILE *fp; /* zmienna plikowa */ fp = fopen(wyn, "w"); system("cls"); puts("\nwykaz wynikow ");

fprintf(fp,"\n Zestawienie obliczenia azymutow \n"); fprintf(fp, "Lp NrP NrK Xp Yp xk Yk Az[grad] Dlug \n"); for(j=0; j<i; j++) printf ("\nlp: %d ",j+1); printf("\nnrp=%5.ld Xp=%.3lf Yp=%.3lf", d[j].nr1, d[j].x1, d[j].y1); printf("\nnrk=%5.ld Xk=%.3lf Yk=%.3lf", d[j].nr2, d[j].x2, d[j].y2); printf("\nazymut(%d-%d) = %.4lf %.4lf", d[j].nr1, d[j].nr2, d[j].azy, d[j].azy2); printf("\ndlugosc(%d-%d) = %.4lf \n", d[j].nr1, d[j].nr2, d[j].dlug); fprintf(fp,"\n%2d %4d %4d %7.3lf %7.3lf %7.3lff %7.3lff %8.4lf %8.3lf\n", \ j+1, d[j].nr1, d[j].nr2, d[j].x1, d[j].y1, d[j].x2, d[j].y2, d[j].azy, d[j].dlug ); printf("\n"); fclose(fp); // zamkniecie pliku printf("\nwyniki w pliku %s", WYN); // Funkcja glowna int MAX=50; int n; pkty t[max]; system("cls"); puts("program az_tabl.cpp - wersja jezyka C\n"); puts("obliczenie azymutow i dlugosci ze wspolrzednych - tablica struktur, petla for\n"); puts("numery punktow calkowite typu long int - do 2147483648\n"); printf("wprowadz ilosc bokow: "); scanf("%d",&n); fflush(stdin); czytaj (t,n); wyswietl (t,n); getch(); // Definicje funkcji double az2(double x1, double y1, double x2, double y2) double dx, dy, result; double PI=M_PI; dx=x2-x1; dy=y2-y1; result = atan2(dy,dx) * 200.0/M_PI; if (result <0) result+=400.0; printf("azymut w az2 = %lf\n", result); return result; double azymgr(double x1, double y1, double x2, double y2) double pi, rg, rs, dx, dy, d, a, az ; pi = 4.0 * atan(1.0); rg = 200.0 / pi; rs = 180.0 / pi; dx=x2-x1; dy=y2-y1; if (dx==0) if (dy>0) a = pi / 2; else a = 1.5 * pi; // END IF dx==0 else // if (dx!= 0) a = atan(dy / dx); if (dx < 0) a = a + pi; else if (dy < 0) a = a + 2 * pi; az = a * rg; // obliczenie azymutu w gradach printf ("azg = %10.4lf [grad]\n", az); return az; double odl(double x1, double y1, double x2, double y2)

double dx, dy, result; dx=x2-x1; dy=y2-y1; result = sqrt(dx*dx+dy*dy); printf("dlugosc = %lf\n", result); return result; // PolaDzXY.cpp - pole działek ze współrzędnych - tablica #define TAB "\t" int n, rozmiar; char dz[20]; cout << "Obliczenie pol dzialek ze wspolrzednych" << endl; cout << "2P=Suma(X[i]*(Y[i=1]-Y[i-1] -2P=Suma(Y[i]*(X[i=1]-X[i-1] " << endl; do cout <<"\npodaj ilosc punktow 0 - koniec: "; cin >>n; if (n==0) break; rozmiar=n+2; long tabn[rozmiar]; float tabx[rozmiar], taby[rozmiar]; float s1=0, s2=0; int suma = 0; cout << "Podaj nazwe dzialki " ; gets(dz); cout << endl; // fflush(stdin); // for (unsigned int i = 1; i <= n; ++i) //pobieranie liczb... cout <<"Podaj NR punktu "<< i <<" : "; cin >>tabn[i]; cout << "Podaj X Y : "; cin >>tabx[i] >> taby[i]; tabn[0]=tabn[n]; tabx[0]=tabx[n]; taby[0]=taby[n]; tabn[n+1]=tabn[1]; tabx[n+1]=tabx[1]; taby[n+1]=taby[1]; cout << "Wykaz punktow: Nr X Y " << endl; cout << "Lp Nr X Y " << endl; for(int i=1; i<=n+1; i++ ) if (i<=n) cout << i << TAB << tabn[i] << TAB << tabx[i] << TAB << taby[i] << endl; s1+=tabx[i]*(taby[i+1]-taby[i-1]); s2+=taby[i]*(tabx[i+1]-tabx[i-1]); s2=-s2; cout << endl; cout << "2P= " << s1 << " -2P=" << -s2 << endl; cout << "Dzialka " << dz << TAB << "Pole = " << 0.25*(s1+s2) << endl;

while (n >0); cin.get(); /* ================================================================================= */ // PDXYplik.cpp - pole dzialek ze wspolrzednych - zapis wynikow do pliku PolaWyn.txt" // rozmiar tablicy ustalony po uruchomieniu programu podaniu danych #include <fstream> #define TAB "\t" #define WYN "PolaWyn.txt" int n, rozmiar; char dz[20]; cout << "Obliczenie pol dzialek ze wspolrzednych" << endl; cout << "2P=Suma(X[i]*(Y[i=1]-Y[i-1] -2P=Suma(Y[i]*(X[i=1]-X[i-1] " << endl; ofstream fw(wyn); do cout <<"\npodaj ilosc punktow, 0 - koniec: "; cin >>n; if (n==0) break; rozmiar=n+2; long tabn[rozmiar]; float tabx[rozmiar], taby[rozmiar]; float s1=0, s2=0; int suma = 0; cout << "Podaj nazwe dzialki " ; gets(dz); cout << endl; // fflush(stdin); // for (unsigned int i = 1; i <= n; ++i) //pobieranie liczb... cout <<"Podaj NR punktu "<< i <<" : "; cin >>tabn[i]; cout << "Podaj X Y : "; cin >>tabx[i] >> taby[i]; tabn[0]=tabn[n]; tabx[0]=tabx[n]; taby[0]=taby[n]; tabn[n+1]=tabn[1]; tabx[n+1]=tabx[1]; taby[n+1]=taby[1]; cout << "Wykaz punktow: Nr X Y " << endl; cout << "Lp Nr X Y " << endl; for(int i=1; i<=n+1; i++ ) if (i<=n) cout << i << TAB << tabn[i] << TAB << tabx[i] << TAB << taby[i] << endl; s1+=tabx[i]*(taby[i+1]-taby[i-1]); s2+=taby[i]*(tabx[i+1]-tabx[i-1]);

s2=-s2; cout << endl; cout << "2P= " << s1 << " -2P=" << -s2 << endl; cout << "Dzialka: " << dz << TAB << "Pole = " << 0.25*(s1+s2) << endl; fw << "Dzialka: " << dz << TAB << "Pole = " << 0.25*(s1+s2) << endl; while (n >0); fw.close(); cout << "Nacisnij cos "; cin.get();