|
Napisano: 08 Dec 2010 16:00
Написати програм на језику Pascal који најпре учита N карактера, а потом и једну реч
максималне дужине 6 карактера. Након учитавања програм провери да ли се неко од слова
учитане речи не налази међу N задатих карактера. Програм треба да преброји и на
стандардном излазу испише колико пута се међу недостајућим словима појављују A, B i C
Ако нема недостајућих слова, онда се испише
порука “USPEH”.
to je zadatak koji me muci tj, moja ideja je bila da je karatkere sto ucitavam ,ucitam i prebacim u (prazan) skup,,,zatim ucitam string, (tj. rec) i pitam da li se slova iz stringa nalaze u skupu, medjutim nije mi dozvoljeno npr da napunim prazan skup sa char,,, ne znam zasto, i takodje posle ne mogu da poredim string i skup, ne znam uopste da li sam na pravom putu,,, pomoc ako moze???
i ako moze dodatak jedan *** kako da poredim dva razlicita niza ???
Dopuna: 08 Dec 2010 20:24
ajd ovako da preformulisem,,, sve sam resio ALI
kada napunim skup sa npr slovima Q W E R T Y
a kao string unesem Q W E R T Y M (pretvorim ga u niz[i])
for i:=1 to n do
ja onda pitam IF (niz[i] in skup) da mi napise da nije ,,, znaci uneo sam u string 'M' a ono nije u skupu,,, medjutim greska mi je ako unesem makar jedno slovo u stringu da je iz skupa on ispise da je pravilno,,,, kako ovo da resim???
Dopuna: 08 Dec 2010 20:25
type
slova='a'..'z';
var
niz1,niz:array [1..100] of char;
br,j,i,n: integer;
linija:string [100];
skup:set of slova;
begin
skup:=[];
writeln ('koliko hoces puta karaktera');
readln (n);
writeln ('upisi ih');
for j:=1 to n do
readln (niz1[j]) ;
for j:=1 to n do
skup:=skup+[niz1[j]];
writeln ('ucitaj neki tekst');
readln (linija);
for i:=1 to length(linija) do
begin
niz[i]:=linija[i];
end;
For i:=1 To length(linija) do
if (niz[i] in skup) then
writeln (niz[i]);
readln;
//drugi deo programa
br:=0;
for j:= 1 to n do
begin
if (niz1[j]='a') or (niz1[j]='b') or (niz1[j]='c')
then
br:=br+1;
end;
writeln ('A,B,C pojavljuje se ',br);
readln
end.
|