Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program project1;
- Type ArrStr = array[1..1200] of String;
- ArrInt = array[1..1200] of Integer;
- procedure prepararArchivos(var archIn,archOut1,archOut2:Text);
- begin
- assign(archIn,'personas.txt');
- assign(archOut1,'personasSR.txt');
- assign(archOut2,'personasCR.txt');
- reset(archIn);
- rewrite(archOut1);
- rewrite(archOut2);
- end;
- procedure cerrarArchivos(var archIn,archOut1,archOut2:Text);
- begin
- close(archIn);
- close(archOut1);
- close(archOut2);
- end;
- procedure imprimirArchivos2(nd,nd2:Integer; var dnis,telfs,dniSR,telfSR : ArrInt;
- var nombs,nombSR : ArrStr; var archOut2 : Text);
- var repetidas:ArrInt;
- i,j,count:Integer;
- begin
- for i:=1 to nd2 do begin
- count := -1;
- for j:=1 to nd do begin
- if (dniSR[i] = dnis[j]) then inc(count);
- end;
- repetidas[i] := count;
- end;
- // a partir de este punto solo faltaria ordenar los arreglos
- // dniSR,telfSR,nombSR,repetidas y de ahi imprimirlos en el segundo archivo :v
- end;
- procedure imprimirArchivos(nd:Integer;var dnis,telfs :ArrInt; var nombs : ArrStri;
- var archOut1,archOut2 : Text);
- var dniSR,telfSR : ArrInt; //SR: Sin repetir
- nombSR: ArrStr;
- i,j,nd2:Integer;
- repetido : Boolean;
- begin
- nd2 := 1;
- dniSR[1] := dnis[1];
- telfSR[1] := telfs[1];
- nombSR[1] := nombs[1];
- writeln(archOut1,dnis[1],' ',nombs[1]:40,' ',telfs[1]);
- for i:=2 to nd do begin
- repetido := false;
- for j:=1 to (i-1) do
- if (dnis[j]= dnis[i] ) then repetido := true;
- if repetido = false then begin
- inc(nd2);
- dniSR[nd2] := dnis[i];
- telfSR[nd2] := telfs[i];
- nombSR[nd2] := nombs[i];
- writeln(archOut1,dniSR[nd2],' ',nombSR[nd2]:40,' ',telfSR[nd2]);
- end;
- end;
- imprimirArchivos2(nd,nd2,dnis,telfs,dniSR,telfSR,nombs,nombSR,archOut2);
- end;
- procedure emitirReporte(var archIn,archOut1,archOut2:Text);
- var dnis,telfs : ArrInt;
- nombs : ArrStr;
- i : Integer;
- begin
- i:= 0;
- while not eof(archIn) do begin
- inc(i);
- readln(archIn,dnis[i]);
- readln(archIn,nombs[i]);
- readln(archIn,telfs[i]);
- end;
- imprimirArchivos(i,dnis,telfs,nombs,archOut1,archOut2);
- end;
- var archIn,archOut1,archOut2 : Text;
- begin
- prepararArchivos(archIn,archOut1,archOut2);
- emitirReporte(archIn,archOut1,archOut2);
- cerrarArchivos(archIn,archOut1,archOut2);
- end.
Add Comment
Please, Sign In to add comment