Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*biblioteki*/
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <math.h>
- #include <string.h>
- /*funkcje u¿yte w programie*/
- /* czyszczenie bufora*/
- void clear_buffer(char buffer[25][80])
- {
- memset(buffer, ' ', 80*25);
- }
- /*wstawianie znaku do bufora, w komórkê o wspó³rzêdnych x i y*/
- void put_to_buffer(char buffer[25][80], float x, float y, char p)
- {
- int row = 15*y+12; /*odpowiednie wyliczenie “row” i “col” aby lemniskata Gerona zaczyna³a siê na œrodku uk³adu wspó³rzêdnych*/
- int col = 15*x+40;
- buffer[row][col] = p;
- }
- /* wyœwietlanie bufora*/
- void print_buffer(char buffer[25][80])
- {
- int i, j;
- for(i=0; i<25; i++) {
- for(j=0; j<80; j++) {
- printf("%c", buffer[i][j]);
- }
- printf("\n");
- }
- }
- /*obliczenie wartoœci “x” i “y” w zale¿noœci od parametru “fi” trygonometrycznie, tutaj sinus i cosinus dostaj¹ argumenty w radianach*/
- float geron_x (int fi)
- {
- return (fi-sin(fi)); }
- float geron_y (int fi)
- {
- return (1-cos(fi));
- }
- /*obliczanie wspó³rzêdnych komórki dla litery i wstawianie jej do bufora*/
- void letter(char buffer[25][80], int fi, char p)
- {
- float x, y;
- x = geron_x(fi);
- y = geron_y(fi);
- put_to_buffer(buffer, x, y, p);
- }
- /*obliczanie wspó³rzêdnych komórki dla wszystkich liter i wstawianie ich do bufora*/
- void letters (char buffer[25][80], int fi, char *p, int m)
- {
- int i;
- for(i=0; i<m; i++) {
- letter(buffer, fi+i*5, p[i]);
- }
- }
- int main()/*funkcja “main”, w której s¹ realizowane wszystkie funkcje wczeœniej zdefiniowane*/
- {
- int m, fi;
- char *name = "Olek";
- for(m=strlen(name); m>0; m--) { /*dla liczby znaków w kolejnej iteracji*/
- for(fi=0;fi<3;fi++) { /*dla kolejnych wartoœci kata fi*/
- char buffer[25][80]; /*deklaracja bufora*/
- clear_buffer(buffer); /*wyczyszczenie bufora*/
- letters(buffer, fi, name, m); /*obliczenie wspó³rzêdnych liter i wstawienie ich do bufora*/
- print_buffer(buffer); /*wyœwietlenie bufora*/
- system("cls");
- usleep(20000); /*zatrzymanie wykonywania program na czas wyœwietlenia jednej klatki*/
- }
- }
- /*wyœwietlenie informacji o zakoñczeniu dzia³ania programu*/
- printf("Program zakonczyl dzialanie, Aleksander Droszcz, 1E6\n");}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement