Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // sierp2.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <iostream>
- #include <iostream>
- #include <iomanip>
- #include <amp_math.h>
- using namespace std;
- int w = 32;
- string **A;
- void sierp(int x1, int y1, int x2, int y2, int x3, int y3, int depth) {
- if (depth == 1) return;
- else {
- int s = 0;
- for (int i = x1 + 1; i < (x1 + x3) / 2; i++) {
- s += 1;
- for (int j = ((y2 + y1) / 2); j <= ((y3 + y1) / 2) + s - 1; j++) {
- A[i][j] = " ";
- }
- }sierp((x2+x1)/2, y1, (x2+x1)/2, (y2 + y1) / 2, (x3 + x1) / 2, (y3 + y1) / 2, depth - 1);
- sierp((x2 + x1) / 2, (y2+y1)/2, (x2 + x1) / 2, y2, (x3 + x1) / 2, (y3 + y2) / 2, depth - 1);
- sierp((x1 + x3) / 2, (y1 + y3) / 2, (x2 + x3) / 2, (y3 + y2) / 2, x3, y3, depth - 1);
- }
- return;
- }
- int main() {
- //+1 tak aby na wszelki wypadek był jeden wymiar wiecej
- A = new string *[w + 1];
- for (int i = 0; i <= w + 1; i++) {
- A[i] = new string[w];
- }
- //tworzymy macierz 16x16
- for (int i = 0; i < w; i++) {
- for (int j = 0; j < w; j++) {
- A[i][j] = " ";
- }
- }
- //tworzymy trojkat
- for (int i = 0; i < w; i++) {
- for (int j = i; j < w; j++) {
- A[i][j] = "*";
- }
- }
- sierp(0, 0, 0, w, w, w, 7);
- //pokazujemy wynik
- for (int i = 0; i < w; i++) {
- for (int j = 0; j < w; j++) {
- cout << A[i][j];
- }
- cout << endl;
- }
- for (int x = 0; x < w; x++)
- {
- delete[] A[x];
- }
- delete[] A;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement