Wczytywanie i zapisywanie do pliku

0

Witam
Jestem totalnym laikiem jeżeli chodzi o programowanie. Czy ktoś z Was mógłby mi pomóc? Mianowicie chodzi o to, że w procedurze Gaussa-Jordana mam zrobic wczytanie danych z pliku np txt i zapisywanie w txt lub excel wyników. Program mam napisany, że liczy przykłady tylko zapisane w kodzie a nie w pliku.

Program aaa;
uses crt;
type
vector = array[1..50] of extended;
vector1 = array[1..50] of extended;
vector2 = array[1..50] of integer;

const

dane : array[1..3,1..4] of extended = ((5,10,1,9),(1,31,-1,76),(2,-1,51,0));

var
x:vector;
st:integer;

procedure oneeqn (i,n : integer; var a : vector1);
var
licznik:integer;
begin
for licznik:=1 to n+1 do
begin
a[licznik]:=dane[i,licznik];
end;

end;

procedure GaussJordan (n : integer;
var x : vector;
var st : integer);

var i,j,jh,k,kh,l,lh,n1,p,q,rh : integer;
max,s : extended;
a,b : vector1;
r : vector2;
begin

st:=0;
if n<1
then st:=1;

if st=0
then begin
n1:=n+1;
p:=n1;
for i:=1 to n1 do
r[i]:=0;
k:=0;

       repeat
         k:=k+1;
         oneeqn (k,n1,a);

         for i:=1 to n do
           begin
             rh:=r[i];
             if rh<>0
               then b[rh]:=a[i]
           end;

         kh:=k-1;
         l:=0;
         max:=0;

         for j:=1 to n1 do
           if r[j]=0
             then begin

                    s:=a[j];
                    l:=l+1;
                    q:=l;
                    for i:=1 to kh do
                      begin
                        s:=s-b[i]*x[q];
                        q:=q+p
                      end;
                    a[l]:=s;
                    s:=abs(s);
                    if (j<n1) and (s>max)
                      then begin
                             max:=s;
                             jh:=j;
                             lh:=l
                           end
                  end;

         if max=0
           then st:=2
           else begin
                  max:=1/a[lh];
                  r[jh]:=k;
                  for i:=1 to p do
                    a[i]:=max*a[i];
                  jh:=0;
                  q:=0;
                  for j:=1 to kh do
                    begin
                      s:=x[q+lh];
                      for i:=1 to p do
                        if i<>lh
                          then begin
                                 jh:=jh+1;
                                 x[jh]:=x[q+i]-s*a[i]
                               end;
                      q:=q+p
                    end;
                  for i:=1 to p do
                    if i<>lh
                      then begin
                             jh:=jh+1;
                             x[jh]:=a[i]
                           end;
                  p:=p-1
                end
       until (k=n) or (st=2);

       if st=0
         then for k:=1 to n do
                begin
                  rh:=r[k];
                  if rh<>k
                    then begin
                           s:=x[k];
                           x[k]:=x[rh];
                           i:=r[rh];
                           while i<>k do
                             begin
                               x[rh]:=x[i];
                               r[rh]:=rh;
                               rh:=i;
                               i:=r[rh]
                             end;
                           x[rh]:=s;
                           r[rh]:=rh
                         end
                end
         else for k:=1 to n do
                x[k]:=0
     end

end;

begin
GaussJordan(3, x, st);
writeln(x[1]2,' ',x[2]2,' ',x[3]2);
readln;
end.

0

Jestem totalnym laikiem jeżeli chodzi o programowanie. Czy ktoś z Was mógłby mi pomóc? Mianowicie chodzi o to, że w procedurze Gaussa-Jordana mam zrobic wczytanie danych z pliku np txt i zapisywanie w txt lub excel wyników. Program mam napisany, że liczy przykłady tylko zapisane w kodzie a nie w pliku.

  1. CZEMU MASZ TEMAT DUŻYMI LITERAMI? JEST AŻ TAK ISTOTNY? NIE SĄDZĘ.
  2. Jak chcesz gotowca to do działu praca. My tutaj oczekujemy osób które umieją lub ewentualnie chcą się nauczyć programować.
0

Jak chcesz gotowca to do działu praca.

No nie bądź złym wujkiem... Swoją drogą to gotowiec już jest, tylko autor nie może sobie z nim poradzić :]


rogtom88 napisał(a)

Mianowicie chodzi o to, że w procedurze Gaussa-Jordana mam zrobic wczytanie danych z pliku np txt i zapisywanie w txt lub excel wyników.

Może na początek poczytaj trochę o plikach i instrukcjach do realizowania zapisu i odczytu danych do i z pliku; Tutaj masz artykuł wyjaśniający dość wyczerpująco temat obsługi plików tekstowych, typowanych i amorficznych; Wybierz odpowiedni i pakuj do niego dane;

Jeśli nie wiesz czego użyć - poczytaj o:

  1. AssignFile,
  2. ReWrite,
  3. Reset,
  4. CloseFile,
  5. Read,
  6. ReadLn,
  7. Write,
  8. WriteLn;
    To powinno wystarczyć z teorii, później poczytaj trochę przykładów, napisz kilka prostych algorytmów (czyli jednym słowem poćwicz), a później zabierz się za przerabianie istniejącego kodu;

Daję głowę, że za kilka dni sam rozwiążesz problem; Zawsze w razie jakichkolwiek problemów możesz tutaj zapytać, ale nie prosić o odwalenie całej roboty za Ciebie; Pomoc uzyskasz jeśli pokażesz, że coś umiesz i że zależy Ci na rozwiązaniu tego problemu;

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