Wątek przeniesiony 2014-05-24 20:14 z Kosz przez olesio.

Program rysujący trójkąt i zabawa z liczbami

0

Witam,

miałem do napisania kilka różnych programów (coś ok. 20) i mam problem z dwoma z nich:

  1. Napisz program rysujący na ekranie trójkąt z liczb jak w przykładzie. Wysokość trójkąta h jest pobierana z klawiatury od użytkownika. Przykład:
    1
    1 2
    1 2 3
    1 2 3 4
    1 2 3 4 5

  2. Utwórz program, wypisujący na ekran pierwszych n liczb podzielnych przez 3.

Prosiłbym o jakieś wskazówki jak zrobić te programy (nie proszę o wklejenie gotowych programów) i mam nadzieje, że to mi wystarczy. Jeśli nie to będę prosił dalej o jakieś wskazówki. :)

0

Pokaż kod, z którym masz problem.

1

Ad 1:
Pobierasz zmienną typu Integer. Następnie zmienną typu string - powiedzmy nazwaną S, ustawiasz na pustą. Teraz w pętli od 1 do tej pobranej zmiennej typu Integer, robisz przykładowo S := S + IntToStr(I) + ' ';. I wypisujesz tę zmienną typu string poprzez Writeln. Oczywiście wcześniej ma być SysUtils w sekcji uses I tyle.

Ad 2:
Pobierasz zmienną N typu Integer. W pętli od 1 do N robisz sprawdzenie czy reszta z dzielenia zmiennej Iteratora pętli przy dzieleniu przez 3 wynosi zero. Jeżeli tak wypisujesz Iterator.

Zadania banalne. Także zalatuje mi tutaj totalnym brakiem chęci wykazania się samodzielnością i żebraniem trochę o gotowca. Bo co tutaj można doradzić. Kiedy sposób rozwiązania tych zadan, po chwili zasatanowania powinien być oczywisty. Wystarczy znać podstawy języka. A wątek przenoszę do działu Newbie i tam w przyszłości zadawaj takie pytania o banalne podstawy języków programowania!

Aha, a że mam problem pod Operą z edycją tagów. To nie będę przez czyjeś "widzimisię" kto nie chce tagować wątków jak o to nie raz prosiliśmy. A próbując często edytować tagi widzę pustą listę i nie mogę nic dopisać lub wymazać z listy. Zresztą chyba o tym informowałem kiedyś Użytkownika @Adam Boduch. Po zmianach w Coyote tak się stało.

Od teraz lojalnie uprzedzam. Jeśli zobaczę jakiś wątek z tagami wziętymi z powietrza. Typu jakieś dopisywania debilnych memo1, liczby, zadanie, pomocy. A nie samego IDE oraz języka. To po prostu czy wątek rozwinięty czy nie - wywalę do Kosza. Ewentualnie dodając do pierwszego wątku na przykład "Tagi wzięte z czterech liter". Wybaczcie, ale jeśli się przykleja wątek w Newbie z prośbą o prawidłowe tagowanie. A ludzie tutaj wedle mnie wręcz złośliwie czy uparcie tagują wedle własnego uznania, zamiast ligicznych założen i naszych sugestii. To póki się nie nauczą, ich wątki będą lądować w koszu i mogą mieć wtedy pretensje, tylko i wyłącznie do siebie.

0

Ad 2:

Źle zrozumiałeś treść zadania. Taki kod, jak napisałeś to ja już mam i wygląda on następująco:

program kolo_2_5;

var
 n:integer;
 i:integer;

begin
 writeln('Podaj n');
 readln(n);

 for i:=1 to n do
  begin
   if (i mod 3=0) then writeln(i);
  end;

 readln;
end.

Teraz działa on następująco, że dla podanego n wypisuje wszystkie liczby podzielne przez 3 z przedziału od 1 do n. I tak dla n=3 w odpowiedzi dostaję tylko liczbę 3. Mnie natomiast chodzi o to, żeby program wypisał n pierwszych liczb podzielnych przez 3. Dla n=3 powinno wyrzucić na ekran liczby 3,6 i 9. O tak banalną rzecz jak zrozumiałeś nie pytałbym. ;)

0

Ad 1: W pętle po y od 1 do H odpalasz pętle po x od 1 do y wyświetlasz x
Ad 2: W pętle po i od 1 do N wyświetlasz wartość: 3*i

0

No tak Ty to napisałeś "przejrzyście", że zinterpretowałem to, jak zintepretowałem. A co do drugiego zadania. To faktycznie, wyzerowanie przez pętlą dodatkowej zmiennej. I zwiększanie jej o jeden co wypisanie liczby, która ma spełniać warunek w pętli. A następnie przerwanie pętli po tym jak ta zmienna równa się tej pobranej N. Oj, to faktycznie tak ciężko na to wpaść. Że wymaga to posiadania całej tajemnej wiedzy informatycznej na Świecie :/

0

@olesio, przecież to:

jagielloma napisał(a):
program kolo_2_5;
...

mówi samo za siebie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1