[C]Choinka

whisby
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 7 kwie 2014, o 10:12
Płeć: Mężczyzna
Lokalizacja: Warszawa

[C]Choinka

Post autor: whisby »

Witam. Niedawno zacząłem przygodę z programowaniem w języku C. Widziałem już podobne tematy na forum dotyczące zbliżonego zadania, jednak nie potrafię zrozumieć sposobu ich działania i widziałem że różniły się od mojego. Nie interesuje mnie za bardzo gotowe rozwiązanie, chciałbym tylko by ktoś podsunął mi pomysł działania funkcji rysLinia. Dostałem zadanie następującej treści: Proszę napisać program rysujący coś co przypomina choinkę. Należy uzupełnić kod zawarty w pliku: tablice.c. W pliku tym, w komentarzach na jego początku i na końcu, znaleźć również można jak powinna wyglądać wyświetlona na konsoli ,,choinka''.

Kod: Zaznacz cały

/* 
Uzupelnic kod, tak aby po wykonaniu programu powstal rysunek:

    *
   * *
  *   *
 *** ***
  *   *
 *     *
**** ****
   * *
   ***

*/
 
#include <stdio.h>

const int MAX_X = 9;
const int MAX_Y = 9;
const char PELNE = '*';
const char PUSTE = ' ';

// funkcja 'rysLinia' na podstawie otrzymanych danych, rysuje odcinek, tj. odpowiednim elementom w tablicy 'ekran' przypisuje wartosc 'PELNE'.
//



// Rysuje zawartosc ekranu na standardowym wyjsciu
void rysEkran( char ekran[MAX_X][MAX_Y] ){
   int x,y;
   for( y = 0; y < MAX_Y; ++y ){
      for( x = 0; x < MAX_X; ++x )
         printf( "%c", ekran[x][y] );
      putchar( '\n' );
   }
}

// Wypelnia ekran znakami PUSTE 
void czyscEkran( char ekran[MAX_X][MAX_Y] ){
   int x,y;
   for (y=0; y<MAX_Y; ++y )
      for (x=0; x<MAX_X; ++x )
         ekran[x][y] = PUSTE;
}

int main( void ){
  char ekran[MAX_X][MAX_Y];
  czyscEkran( ekran );
   
  //tu nalezy umiescic sekwencje wywolan (11 wywolan) funkcji rysujLinia

  rysEkran( ekran );
  return 0;
}
/* Rysunek ktory ma powstac:

    *
   * *
  *   *
 *** ***
  *   *
 *     *
**** ****
   * *
   ***

*/
Awatar użytkownika
lackiluck1
Użytkownik
Użytkownik
Posty: 205
Rejestracja: 20 lis 2009, o 08:41
Płeć: Mężczyzna
Lokalizacja: Wola
Podziękował: 6 razy
Pomógł: 44 razy

[C]Choinka

Post autor: lackiluck1 »

Tak na pierwszy rzut oka, to w funkcji rysLinia można wykorzystać równanie prostej i po podaniu współrzędnych początku i końca linii, obliczyć potrzebne współczynniki i na podstawie tego uzupełniać tablicę.
ODPOWIEDZ