Aplikację z poprzedniego wykładu podzielimy na trzy pliki:
#include<cstdlib> #include<iostream> #include "moje_fun.h" // informuję kompilator, że w tym miejscu należy // załączyć plik nagłówkowy: moje_fun.h using namespace std; int main(int argc, char *argv[]) { srand(20); const int n = 10; Punkt p[n]; LosujTab2(p, n); DrukujTab(p, n); system("pause"); return 0; };
#pragma once struct Punkt { int x, y; }; int LosujInt(int iMin, int iMax); void LosujTab(Punkt p[], int n); void LosujTab2(Punkt p[], int n); void DrukujTab(Punkt p[], int n);
#include<cstdlib> #include<iostream> #include "moje_fun.h" int LosujInt(int iMin, int iMax) { return iMin+(int) (iMax*rand()/(RAND_MAX+1.0)); } void LosujTab(Punkt p[], int n) { for (int i=0; i<n; ++i) { p[i].x = LosujInt(0, 100); p[i].y = LosujInt(0, 100); } } void LosujTab2(Punkt p[], int n) { Punkt * wskP = p; for (int i=0; i<n; ++i, ++wskP) { wskP->x = LosujInt(0, 100); wskP->y = LosujInt(0, 100); } } void DrukujTab(Punkt p[], int n) { for (int i=0; i<n; ++i) std::cout << p[i].x << ", " << p[i].y << std::endl; }
Temat ten ilustruje poniższy przykład
#include<cstdlib> #include<iostream> #include<iomanip> using namespace std; void SumaMat(double c[][2], double a[][2], double b[][2]); void DrukujMat(double a[][2]); int main(int argc, char *argv[]) { double A[2][2] = { {1, 0}, {0, 1} }; double B[2][2] = { {0, -1}, {1, 0} }; double C[2][2]; SumaMat(C, A, B); DrukujMat(C); system("pause"); return 0; }; void SumaMat(double c[][2], double a[][2], double b[][2]) { for (int i=0; i<2; ++i) for (int j=0; j<2; ++j) c[i][j] = a[i][j] + b[i][j]; } void DrukujMat(double a[][2]) { for (int i=0; i<2; ++i) { for (int j=0; j<2; ++j) cout <<setw(10)<< a[i][j] << " "; cout << endl; } }
Więcej można znaleźć na stronach: