Sveiki!
Nezināju, kur citur rakstīt, tāpēc vienīgā loģiskā vieta izskatījās šī. Kā jūs manīsiet, esmu jauniņais, taču pat par spīti tam man ir milzum daudz problēmu ar kurām jātiek galā, piemēram, vecais labais pascal man negrib padoties rokā un strādāt kā vajag.
No manis tika prasīts izveidot programmu, kura atļauj ievadīt simbolu rindu: blabla 5.45 ahah utt..
To arī izdarīju, bija prasīts izvilkt reālos skaitļus no turienes, to arī panācu, papūloties, bet tagad, no manis ir prasīts saskaitīt šos skaitļus,diemžēl tas vairs nav tik vienkārši, dators pēc mana skripta skaita tā: 5.1 + 2 = 5+1+2=8 ... galīgi greizi.
Ko lai es pielaboju?
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
u:array[1..10]of real;
f:array[1..10]of string = ('0','1','2','3','4','5','6','7','8','9');
o:array[1..26]of string = ('a','b','c','d','e','f','g','h','i','j','k','l',
'm','n','o','p','q','r','s','t','u','x','y','z','v','w');
a,s,m,t:string;
l,k,n,q,i:integer;
sum:real;
begin
writeln;
writeln('------------------------------------------------------------------------');
writeln('Sis programmas merkis ir izvadit no simbolu rindas realos skaitlus!!');
writeln('Ludzu, ievadiet vairakus simbolus, lai no tiem atlasitu realos skaitlus!');
writeln('------------------------------------------------------------------------');
writeln;
write('Ievadit simbolu rindu: ');
readln(a);
m:='';
l:=length(a);
for n:=1 to l do
begin
s:=Copy(a,n,1);
if (s = '.') then m:=m+s;
for q:=1 to 26 do begin
s:=Copy(a,n,1);
t:=Copy(a,n+1,1);
if (s = ' ') and (t = o[q] ) then m:=m;
end;
for k:=1 to 10 do
begin
s:=Copy(a,n,1);
t:=Copy(a,n+1,1);
if (s= ' ') and (t = (f[k]))then m:=m+s;
if (s = (f[k]))then m:=m+s;
end;
end;
writeln;
Write('Simbolu rindas realie sk.: ');
write(m);
writeln;
for n:=1 to l do
begin
Val(m[n], u[n], i);
writeln(u[n]:2:2);
sum:=sum+u[n];
end;
//writeln('Ciparu summa ir : ', sum:2:2);
readln;