• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak napisać funkcje, która narysuje trapez równoramienny o wielkości n ze znaku *

Object Storage Arubacloud
0 głosów
343 wizyt
pytanie zadane 27 października 2020 w C i C++ przez wall7489 Obywatel (1,250 p.)

Narazie napisałem tyle, ale dalej nie mogę ruszyć. Help

#include <iostream>
#include <string>

using namespace std;


void trapezr(int n)
{
	string s6b(50,32);
cout<<s6b;
 for(int i=0;i<n;i++) cout<<"* ";
 cout<<endl;
 for(int i=0;i<n;i++)
 {
string s6b(n-i-1 ,32);
 	cout<<s6b;
 	cout<<"*";
 	
 	
 }
 











string s6a(60,32);
cout<<s6a;
for(int i=0;i<n*2;i++) cout<<"* ";
}







int main() {
	int n;
	cout<<"podaj n: ";
	cin>>n;
trapezr(n);
	
	return 0;
}

 

komentarz 27 października 2020 przez NewEraOfPeace Gaduła (4,790 p.)
komentarz 27 października 2020 przez wall7489 Obywatel (1,250 p.)
Niezbyt rozumiem o co chodzi z tym linkiem, z czym on ma  mi pomóc.

1 odpowiedź

0 głosów
odpowiedź 27 października 2020 przez DawidK Nałogowiec (37,910 p.)

Tego co piszesz nie da się zrobić. Podanie samej wysokości nie jest jednoznaczne, możesz mieś trapez o wysokości 10 i podstawach 20 i 5 i możesz mieć też trapez o wysokości 10 i podstawach 5 i 1.

Brakuje Ci albo kąta, albo 2 podstaw i wtedy bez wysokości (a raczej z "załozoną wysokością").

W przypadku gdy masz podane podstawy:

- pytasz użytkownika o krotszą podstawe

- pytasz użytkownika o dłuższą podstawe

- na podstawie tych danych określasz wysokość zakładając, że każda następna warstwa będzie miała po 2 dodatkowe gwiazdki więcej - jedną z prawej i jedną z lewej, to też jest uproszczenie, bo mogą mieć np po 2,3,4 dodatkowe gwiazdki z każdej strony na każdej nowej warstwie.

- gdy to już masz tzn górna podstawa, ilość warstw (wysokość) i dolna podstawa to w pętli for gdzie licznikiem jest ilość warstw wypisujesz:

a) puste miejsce z lewej równe ilość warstw minus aktualna warstwa

b) dodatkowe gwiazdki dochodzące na warstwe z lewej (za każdym razem o 1 więcej)

c) podstawowa wielkość (górna podstawa)

d) dodatkowe gwiazdki dochodzące na warstwe z prawej (za każdym razem o 1 więcej)

e) puste miejsce z prawej równe ilość warstw minus aktualna warstwa

W pythonie wyglądałoby to mniej więcej tak:

a = int(input("podaj krótszą podstawę?"))
b = int(input("podaj dłuższą podstawę?"))
h = (b-a)//2
for i in range (h):
    print(" "*(h-i), end='')
    print('*'*i, end='')
    print('*'*a, end='')
    print('*'*i, end='')
    print(" "*(h-i))

 

komentarz 27 października 2020 przez wall7489 Obywatel (1,250 p.)
Można założyć że ktoś podaje krótszą podstawę, a dłuższa jest 2 razy dłuższa.
komentarz 27 października 2020 przez DawidK Nałogowiec (37,910 p.)

Nie rozumiem, dlaczego zadajesz już chyba 3 pytanie o ten trapez.

1 - użytkownik wpisuje krótszą podstawę (np 6)

2 - dłuższa podstawa może być 2 razy dłuższa (wtedy 12)

3 - co oznacza, że masz 6 miejsc do wykorzystania po 3 z każdej syrony (bo trójkąt jest równoramienny) zanim górna podstawa zrówna się z dolną

4 - zakładając, że przybywa po jednej gwiazdce na każdej warstwie to potrzeba 4 warstw, w pierwszej nie ma żadnej dodatkowej, w drugiej po 1 na stronę, w trzeciej po 2 na stronę i w czwartej po 3 (maksimum) na stronę

czyli jest do napisania program, który wypiszę odpowiednio puste miejsca, dodatkowe zapełnione i podstawową długość

Podobne pytania

0 głosów
0 odpowiedzi 207 wizyt
0 głosów
1 odpowiedź 142 wizyt

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...