Instrukcja do ćwiczenia
- Utwórz w środowisku Code::Blocks projekt konsoli.
- Na samym początku programu zapisz w komentarzu swoje imię, nazwisko,
klasę oraz numer ćwiczenia, które otrzymasz od nauczyciela.
- Napisz i uruchom odpowiedni program zgodny z tematem ćwiczenia.
- Za pomocą klienta FTP FileZilla prześlij plik main.cpp z katalogu
projektu na komputer nauczyciela.
Tematy ćwiczeń
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XX......XX
X........X X.XXXXXX.X X.XXXXXX.X X.XXXXXX.X X.XXXXXX.X
X.XXXXXX.X X.XXXXXX.X X........X
XX......XX
Na końcu program ma podać liczbę znaków X w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XXXXXXXXXX
X........X X.XXXXXX.X X.X....X.X X.X....X.X X.X....X.X
X.X....X.X X.XXXXXX.X X........X
XXXXXXXXXX
Na końcu program ma podać liczbę znaków kropki w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
X........X
X........X X.X....X.X X.X....X.X X.X....X.X X.X....X.X
X.X....X.X X.X....X.X X........X
X........X
Na końcu program ma podać liczbę znaków X w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XXXXXXXXXX
X........X X.X......X X.XX.....X X.XXX....X X.XXXX...X
X.XXXXX..X X.XXXXXX.X X........X
XXXXXXXXXX
Na końcu program ma podać liczbę znaków kropki w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XXXXXXXXXX
X........X X.X.X.X..X X..X.X.X.X X.X.X.X..X X..X.X.X.X
X.X.X.X..X X..X.X.X.X X........X
XXXXXXXXXX
Na końcu program ma podać liczbę znaków X w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XXXXXXXXXX
X...XX...X X...XX...X X...XX...X XXXXXXXXXX XXXXXXXXXX
X...XX...X X...XX...X X...XX...X
XXXXXXXXXX
Na końcu program ma podać liczbę znaków kropki w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XXXXXXXXXX
X....X...X X....X...X X....X...X X....XXXXX XXXXX....X
X...X....X X...X....X X...X....X
XXXXXXXXXX
Na końcu program ma podać liczbę znaków X w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XXXXXXXXXX
XXXXXXXXXX
XX......XX
XX......XX
XX......XX
XX......XX
XX......XX
XX......XX
XXXXXXXXXX XXXXXXXXXX
Na końcu program ma podać liczbę znaków kropki w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
X........X
.XXXXXXXX.
.X......X.
.X......X.
.X......X.
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
Na końcu program ma podać liczbę znaków X w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
X........X
X........X
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
Na końcu program ma podać liczbę znaków kropki w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XXXXXXXXXX
X...XX...X
X...XX...X
X...XX...X
X...XX...X
X...XX...X
X...XX...X
X...XX...X
X...XX...X
XXXXXXXXXX
Na końcu program ma podać liczbę znaków X w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XXXXXXXXXX
X....XXXXX
X....XXXXX
X....XXXXX
X....XXXXX
X........X
X........X
X........X
X........X
XXXXXXXXXX
Na końcu program ma podać liczbę znaków kropki w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XX.......X
X.XX.....X
X...XX...X
X.....XX.X
X.......XX
XX.......X
X.XX.....X
X...XX...X
X.....XX.X
X.......XX
s
Na końcu program ma podać liczbę znaków X w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XX........
XXXX......
XXXXXX....
XXXXXXXX..
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXX..
XXXXXX....
XXXX......
XX........
Na końcu program ma podać liczbę znaków kropki w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
X.X.X.X.X.
X.X.X.X.X.
X.X.X.X.X.
X.X.X.X.X.
X.X.X.X.X.
XXXXXXXXXX
..........
XXXXXXXXXX
..........
XXXXXXXXXX
Na końcu program ma podać liczbę znaków X w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
..........
.X..XXXXX.
.XXX..XXX.
.XXXXX..X.
.XXXXXXX..
..XXXXXXX.
.X..XXXXX.
.XXX..XXX.
.XXXXX..X.
..........
Na końcu program ma podać liczbę znaków kropki w figurze.
- Napisz program w języku C++, który odczyta z klawiatury liczbę n, a
następnie wyświetli w oknie konsoli prostokąt o wymiarach n x n z literek X
oraz znaku kropki o następującym kształcie
(dla n = 10):
XXXXXXXXXX
X.X.X...XX XX.X...X.X X.X.X.X..X XX.X.X...X X...X.X.XX
X..X.X.X.X X.X...X.XX XX...X.X.X XXXXXXXXXX
Na końcu program ma podać liczbę znaków kropki w figurze.
|
Przykładowe rozwiązanie
Figury mogą wyglądać skomplikowanie na pierwszy
rzut oka, jednak sposób rozwiązania zadań jest prosty.
Należy daną figurę rozłożyć na najprostsze elementy
składowe, napisać dla nich warunki logiczne, po czym
połączyć te warunki operatorem ||. Rozwiążmy dla przykładu
zadanie nr 17:
XXXXXXXXXX
X.X.X...XX XX.X...X.X X.X.X.X..X XX.X.X...X
X...X.X.XX X..X.X.X.X X.X...X.XX XX...X.X.X
XXXXXXXXXX
Figurę rozkładamy:
|
j i0123456789
0
XXXXXXXXXX
1
X.X.X...XX
2
XX.X...X.X
3
X.X.X.X..X
4
XX.X.X...X
5
X...X.X.XX
6
X..X.X.X.X
7
X.X...X.XX
8
XX...X.X.X
9
XXXXXXXXXX |
|
|
|
j i0123456789
0
XXXXXXXXXX
1
..........
2
..........
3
..........
4
..........
5
..........
6
..........
7
..........
8
..........
9
XXXXXXXXXX |
|
((j == 0) || (j == n -
1)) |
|
j i0123456789
0
X........X
1
X........X
2
X........X
3
X........X
4
X........X
5
X........X
6
X........X
7
X........X
8
X........X
9
X........X |
|
((i == 0) || (i == n -
1)) |
|
j i0123456789
0
.........X
1
........X.
2
.......X..
3
......X...
4
.....X....
5
....X.....
6
...X......
7
..X.......
8
.X........
9
X......... |
|
(i == n - 1 - j) |
|
j i0123456789
0
.X.X......
1
X.X.X.....
2
.X.X......
3
X.X.X.....
4
.X.X......
5
..........
6
..........
7
..........
8
..........
9
.......... |
|
((i < n/2) && (j < n/2)
&& ((i+j) % 2)) |
|
j i0123456789
0
..........
1
..........
2
..........
3
..........
4
..........
5
......X.X.
6
.....X.X.X
7
......X.X.
8
.....X.X.X
9
......X.X. |
|
((i >= n/2) && (j >=
n/2) && ((i+j) % 2)) |
Mając cząstkowe wyrażenia, tworzymy program:
// Ćwiczenie nr 8
//---------------
#include <iostream>
using namespace std;
int main()
{
int n, i, j, lk = 0;
cout << "n = "; cin >> n;
for(j = 0; j < n; j++)
{
for(i = 0; i < n; i++)
if(((j == 0) || (j == n - 1))||
((i == 0) || (i == n - 1))||
(i == n - 1 - j)||
((i < n/2) && (j < n/2) && ((i+j) % 2))||
((i >= n/2) && (j >= n/2) && ((i+j) % 2)))
cout << "X";
else
{
cout << ".";
lk++;
}
cout << endl;
}
cout << "Liczba kropek = " << lk << endl;
return 0;
}
|
i otrzymujemy następujący wynik:
n = 30
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X.X.X.X.X.X.X.X.............XX
XX.X.X.X.X.X.X.............X.X
X.X.X.X.X.X.X.X...........X..X
XX.X.X.X.X.X.X...........X...X
X.X.X.X.X.X.X.X.........X....X
XX.X.X.X.X.X.X.........X.....X
X.X.X.X.X.X.X.X.......X......X
XX.X.X.X.X.X.X.......X.......X
X.X.X.X.X.X.X.X.....X........X
XX.X.X.X.X.X.X.....X.........X
X.X.X.X.X.X.X.X...X..........X
XX.X.X.X.X.X.X...X...........X
X.X.X.X.X.X.X.X.X............X
XX.X.X.X.X.X.X.X.............X
X.............X.X.X.X.X.X.X.XX
X............X.X.X.X.X.X.X.X.X
X...........X...X.X.X.X.X.X.XX
X..........X...X.X.X.X.X.X.X.X
X.........X.....X.X.X.X.X.X.XX
X........X.....X.X.X.X.X.X.X.X
X.......X.......X.X.X.X.X.X.XX
X......X.......X.X.X.X.X.X.X.X
X.....X.........X.X.X.X.X.X.XX
X....X.........X.X.X.X.X.X.X.X
X...X...........X.X.X.X.X.X.XX
X..X...........X.X.X.X.X.X.X.X
X.X.............X.X.X.X.X.X.XX
XX.............X.X.X.X.X.X.X.X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Liczba kropek = 560
|
|