Instrukcja do ćwiczenia
- Utwórz w środowisku Code::Blocks projekt konsoli.
- Na samym początku programu zapisz w komentarzu imiona i nazwiska
uczestników grupy, klasę oraz numer ćwiczenia.
- Napisz i uruchom odpowiedni program zgodny z tematem ćwiczenia.
- Plik main.cpp prześlij 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):
.X......X.
X........X X..XXXX..X X.XXXXXX.X X.XXXXXX.X X.XXXXXX.X
X.XXXXXX.X X..XXXX..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):
.XXXXXXXX.
X........X X..XXXX..X X.X....X.X X.X....X.X X.X....X.X
X.X....X.X X..XXXX..X X........X .XXXXXXXX.
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..XXXX..X X.XX..XX.X X.X.XX.X.X X.X.XX.X.X
X.XX..XX.X X..XXXX..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):
.XXXXXXXX.
X........X X......X.X X.....XX.X X....X.X.X X...X..X.X
X..X...X.X X.XXXXXX.X X........X .XXXXXXXX.
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):
.XXXXXXXX.
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 .XXXXXXXX.
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):
.XXXXXXXX.
X........X X...XX...X X...XX...X X.XXXXXX.X X.XXXXXX.X
X...XX...X X...XX...X X........X .XXXXXXXX.
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...X.X..X X...X..X.X XXXXX...XX XX...XXXXX
X.X..X...X X..X.X...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):
X........X
XX......XX
XXX....XXX XXXX..XXXX 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):
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 9:
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
|
|