Wprowadzanie danych do wektora

0

Witam znalazłem na internecie takie zadanko, dopiero się uczę TP mógłby ktoś naprowadzić jak to wykonać ?

Wpisać do wektora 10 znakowego dane z klawiatury, a następnie pokazać wprowadzone dane w jednym wierszu.
W Pętli sprawdzić wszystkie dane w wektorze czy są cyframi i policzyć je.
Wyświetlić ile cyfr i ile innych znaków znajduje się w wektorze.

Z góry dziękuję za pomoc

0

Witam, wydaje mi się że chodzi o wczytanie 10 znaków z klawiatury, i zapisanie jej jako tablicę, może się mylę ale jeśli tak to:
*Musisz zdeklarować tablicę 10 elementową:

 
type 
    tablica = array [1..10] of word; 

var
    i:integer;
    t:tablica;

*Teraz gdy już masz tablicę, musisz zapisywać do niej wprowadzane przez użytkownika znaki z klawiatury:

BEGIN
 clrscr;
 for i:=1 to 10 do
     begin
        write('Wprowadź znak ,'i',: ') 
        readln(t[i]);
     end;
END.

*Teraz zaś musisz sprawdzać czy dany znak to cyfra, czy też litera. To już powinieneś wiedzieć jak zrobić (polecam do tego tablę kodów asci)

Nie wiem czy coś pomogłem, ale serdecznie pozdrawiam.

0

Dzieki, ale to co podales to przeciez jak tam dam znak inny niz Cyfra to wywala blad ;/

0

To spróbuj zamienić word na byte albo string.

Proszę!

uses crt;

type
    tablica = array [1..10] of string;

var
    i:integer;
    t:tablica;

BEGIN
 clrscr;
 for i:=1 to 10 do
     begin
        write('Wprowadź znak ',i,' : ') ;
        readln(t[i]);
     end;

 write('Twoje znaki to: ');
 for i:=1 to 10 do
   begin
     write(' ',t[i]);
   end;

//... tutaj musisz sobie dopisać procedurę sprawdzania czy to liczba czy cyfra, tak jak już wyżej pisałem najlepiej by było gdybyś to zrobił za 
//pomocą kodów Asci z tabeli asci.
   readln;
END. 
0

a ze znakami Ascii to robie np

if tab[i] < cyfra jedynki < cyfra dziewitki

0

hmmmm. Jeśli chciałbyś zrobić to sprawdzanie znaków to polecam zmienić:

uses crt;
 
type
    tablica = array [1..10] of string; 

na

 uses crt;
 
type
    tablica = array [1..10] of char;

A tutaj podaję przykład jak zrobić to odróżnianie znaków od liczb.


begin
     for i:=1 to 10 do
           begin
                   readln(t[i]);
                   if (t[i]>#47) and (t[i]<#58) then writeln('Liczba')
                  else
                  writeln('Znak');
            end;
     readln;
end;
{Wystarczy dopisać funkcję zliczającą litery i liczby, a gdybyś próbował zliczyć sumę cyfr to spróbuj:
Instrukcja ord(t[i]) albo byte(t[i]) albo integer(t[i]) }

Pozdrawiam!

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