Licznenie klamer w zawartości pliku

0

kurde chciałem być grafikiem aa uczą mnie programowania chyba pomyliłem profile.. ale co tam mam problem gość od programowania kazał nam dopisać do tego programu "aby liczył wszystkie klamry po za ' " i nie mam pojęcia jak to zrobić mógł by ktoś bardziej ogarnięty mi objaśnić co gdzie i dlaczego muszę dopisać?

program Odzczyt;
uses crt;
var
  plik : Text;
  wiersz : String;
  znak : Char;
  xx, kl_otwarte, flaga, licznik : integer;
begin
  ClrScr;
  Assign (Plik, 'Noname1.pas');
  Reset (plik);

  while not eof (plik) do
  begin
    read (plik, znak);

    If (znak = #39) and (flaga = 0) Then
    begin
      write(#180);
      write (znak);
      flaga := 1;
    end
  else
    If (znak = #39) and (flaga = 1) Then
    begin
      write (znak);
      write(#195);
      flaga := 0;
    end
  else
    If (znak = '(') or (znak = ')') then
      licznik := licznik +1;

    write (znak);
  end;

  Close (plik);
  write('wynik', licznik);
end.
0
  1. wyzeruj licznik
  2. otwórz plik i w pętli:
    1. wczytaj z pliku linię (typ String) i w pętli po każdym znaku w linii:
    2. jeśli znak jest klamrą to zwiększ licznik
  3. wypisz licznik
    Do sprawdzania czy znak w linii jest klamrą wykorzystaj zbiory - dzięki temu zamiast drabinki ifów zapiszesz tak:
if LiniaPobranaZPliku[Indeks] in ['(', ')', '[', ']'] then
  // zwiększ licznik

W podanym wyżej zbiorze masz cztery znaki, które będą zaliczane do klamer (wstaw tak wszystkie interesujące Cię znaki, które mają być zliczane); Więcej o zbiorach dowiesz się tutaj; Natomiast do inkrementowania licznika możesz wykorzystać procedurę Inc - mniej będzie pisania;

Niepotrzebne jest Ci tyle zmiennych, więc dobrze się zastanów i skorzystaj Plik, Wiersz i Licznik;


Wątek zaś przenoszę do działu dla początkujących, bo ewidentnie dotyczy podstaw programowania.

0

"liniapobranazpliku możesz jaśniej? jestem kompletnie zielony z programowania...

0

To przeczytaj kurs? tam jest wszystko wyjaśnione.

0

nie no chce tylko to na ta 3 chociaż zaliczyć i mieć spokój nie dość ze mamy gościa który nic nie potrafi wytłumaczyć to jeszcze nie lubię programowania ściągnę od kogoś z klasy jak ktoś w ogóle będzie to miał zrobione chociaż wątpie bo ten wąsaty kretyn nic nie tłumaczy tylko wymaga

0

no panowie sie śmiejecie ale gościa który opowiada przez pół lekcji anegdoty o zielonym koniu to chyba nie widzieliście jeszcze

0
  1. zadeklaruj zmienną Plik typu TextFile, Wiersz typu String, Licznik i I typu Word,
  2. wyzeruj zmienną Licznik,
  3. skojarz zmienną plikową Plik procedurą AssignFile,
  4. otwórz plik do odczytu procedurą Reset
  5. w pętli while do końca pliku (funkcja EoF):
    1. wczytaj z pliku linię za pomocą procedury ReadLn do zmiennej Wiersz,
    2. w pętli for dla licznika pętli I:
    3. sprawdź czy znak w zmiennej Wiersz o indeksie I jest klamrą i jeśli tak:
    4. inkrementuj zmienną Licznik procedurą Inc,
  6. wypisz zawartość zmiennej Licznik na ekran.
0

ok dzieki : >

0
Dementor napisał(a):

no panowie sie śmiejecie ale gościa który opowiada przez pół lekcji anegdoty o zielonym koniu to chyba nie widzieliście jeszcze

Ja bym się cieszył mając takiego nauczyciela - podstawy Pascala tak czy siak są banalne do nauki (zwłaszcza z kursów i książek), a anegdot o zielonym koniu bym chętnie posłuchał ;]

0

no nie wiem ja sie nie ciesze bo on może i ma duża widzę tylko nie potrafi jej nam przekazać ani, hm o zielonym koniu to szło jakos tak ze rycerz chciał poderwać księżniczkę i pomyślał sobie ze pomaluje konia na zielono i przejedzie obok niej a gdy ona zapyta oj rycerzu skad masz takiego zielonego konia to on jej zaproponuje przejażdżkę no i pomalował tego konia i przejeżdża obok nie ja ona do niego rycerzu zabierzesz mnie na przejażdżkę? a on do niej przejażdżka jak przejażdżka ale skad ja mam takiego zielonego konia ... i sie śmieje kiedyś jeszcze coś o dżownicy było ale już nie pamiętam

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