Napisz program ktory wypisuje równoległobok składający się ze znaku gwiazdka '*'. Wyskość równoległoboku jest mierzona liczbą wierszy h i ma być daną wejściową programu, druga wejściowa daną programu powinna być jego długość podstawy a. Uwaga! ostatni wiersz równolegloboku musi stykać się z lewym rogiem ekranu, jak na rysunku:
***** ***** ***** *****
tutaj wysokość to 4 a długość boku to 5
Wskazówka: aby wypisać znak gwiazdki (lub inną literę)
piszemy %c w funkcji printf:
char znak; znak = ' * '; // tutaj koniecznie _pojedynczy_ cudzysłów printf("%c",znak);
Jak niektórzy z Panstwa zauważyli, naturalnie jest użyć tutaj 3 razy
petlę while, ale tylko dwie z nich beda zagnieżdżone w sobie:
zewnętrzna petla while wiersze, a dwie wewnetrzne piszą znaki
w odpowiednich kolumnach : najpierw piszemy troche spacji,
potem troche gwiazdek czyli tak wyglada mozliwy szkielet w pseudokodzie:
while ( nie wypisane wiersze){ wypełnij kolejny wiersz jak nastepuje: while(nie wypisane znaki spacji){ wypisz odp. ilość spacji...} while (nie wypisane znaki *){ wypisz odp. ilość gwiazdek...} }
Napisz program, który sprawdza czy dana litera jest w tablicy. Jeśli jest, program wypisuje ile jest tych liter i wypisuje całą tablicę na ekran (użyj pętli for). Aby wpisać do tablicy słowo napisz:
char tab[11]={'a','l','a',' ','m','a',' ','k','o','t','a'};
Użyj instrukcji warunkowej if, pamiętaj, że aby sprawdzić czy dwie zmienne są równe, piszemy _podówjny_ znak równości:
if (tab[i] == szuk_lit) { printf("jest"); }
Aby wypisać tablicę na ekran użyj pętli for:
for(i=0;i<11;i++){ prinf("%c",tab[i]); }
Aby przypisać w i-tym miejscu tablicy wartość, piszemy na przykład tak:
char tab2[11]; char znak = 'a'; i=3; tab[i]=znak;
Zmodyfikuj program z zad 2 tak aby wykonywał się w pętli, wczytując kolejną literę za pomocą scanf:
char znak; scanf("%c",&znak);
dopóki ktoś nie odgadnie wszystkich liter. Po każdym odgadnięciu litery, program powininen wypisać już znalezione litery a w miejsce nieznalezionych powinien wypisać znak podkreślenia. Oto przykład działania dla tablicy powyżej:
Zgadnij literę a Jest: a_a__a____a Zgdanij literę w Nie ma Zgdanij literę ... i tak dalej
Możesz w tym calu powołać tablicę tab2 którą wypełnisz (używając pętli for) znakiem podkreślenia: '-'
for(i=0;i<11; i++ ) tab2[i]=' - ';
Następnie będziesz wpisywał zgdaniętą literę w odpowiednie do tej tablicy i wypisywał ją na ekran.
Napisz program który wczytuje liczbę n, i następnie drukuje kolejne liczby naturalne od 1 do n ustawione w trójkąt. Dla n=12 powinno być mniej więcej tak:
1 2 3 4 5 6 7 8 9 10 11 12
Wskazówka1 : pełny trójkąt o wysokości k zawiera k(k+1)/2 liczb
Aby wiedzieć ile wpisać spacji S w pierwszym wierszu przed liczbą 1,
dla wczytanego n znajdź największe k które spełnia n>= k(k+1)/2.
Wtedy S = (k+1)/2 jeśli n != k(k+1)/2 oraz S=k/2 w przeciwnym wypadku.
W każdym wierszu zmniejszaj liczbę wypisanych spacji o 1
Wskazówka 2 : Na każdą liczbę przeznacz 3 znaki wpisując %3d w printf
wtedy trzeba wypisać 3S spacji oraz po każdej liczbie dodać 3 spacje