Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program students_upgrade;
- const
- INPUT_DATA_LENGTH = 6;
- INPUT_FILE = '/Users/slucently/Documents/My txt/students.txt';
- OUTPUT_Surname = '/Users/slucently/Documents/My txt/students surname.txt';
- OUTPUT_Height = '/Users/slucently/Documents/My txt/students height.txt';
- OUTPUT_Weight = '/Users/slucently/Documents/My txt/students weight.txt';
- type
- Student_type = record
- Surname: String;
- Height: String;
- Weight: String;
- end;
- student_array = array[1..INPUT_DATA_LENGTH] of Student_type;
- array_string = array[1..INPUT_DATA_LENGTH] of String;
- var
- f_in, f_surname, f_height, f_weight: text;
- student: student_array;
- arr_surname: array_string;
- arr_height: array_string;
- arr_weight: array_string;
- i: integer;
- procedure ReadSetSurname(var afile_in: text; var stud: student_array);
- var
- s, t: string;
- i: integer;
- begin
- while not eof(afile_in) do begin
- for i := 1 to INPUT_DATA_LENGTH do begin
- readln(afile_in, s);
- t := s;
- delete(t, length(t) - 6, 7);
- stud[i].surname := t;
- end;
- end;
- close(afile_in);
- end;
- procedure MakeArraySurname(var stud: student_array; var arg: array_string);
- var
- i: integer;
- begin
- for i := 1 to INPUT_DATA_LENGTH do begin
- arg[i] := stud[i].surname;
- end;
- end;
- procedure ReadSetHeight(var afile_in: text; var stud: student_array);
- var
- s, t: string;
- i: integer;
- begin
- reset(afile_in);
- while not eof(afile_in) do begin
- for i := 1 to INPUT_DATA_LENGTH do begin
- readln(afile_in, s);
- t := s;
- delete(t, length(t) - 2, length(t));
- delete(t, 1, length(t) - 3);
- stud[i].height := t;
- end;
- end;
- close(afile_in);
- end;
- procedure MakeArrayHeight(var stud: student_array; var arg: array_string);
- var
- i: integer;
- begin
- for i := 1 to INPUT_DATA_LENGTH do begin
- arg[i] := stud[i].height;
- end;
- end;
- procedure ReadSetHWeigh(var afile_in: text; var stud: student_array);
- var
- i: integer;
- s, t: string;
- begin
- reset(afile_in);
- while not eof(afile_in) do begin
- for i := 1 to INPUT_DATA_LENGTH do begin
- readln(afile_in, s);
- t := s;
- delete(t, 1, length(t) - 2);
- stud[i].weight := t;
- end;
- end;
- end;
- procedure MakeArrayWeight(var stud: student_array; var arg: array_string);
- var
- i: integer;
- begin
- for i := 1 to INPUT_DATA_LENGTH do begin
- arg[i] := stud[i].weight;
- end;
- end;
- function Compare(arg1, arg2: string; direct: boolean): boolean;
- begin
- if direct then begin
- Compare := arg1 > arg2;
- end else begin
- Compare := arg1 < arg2;
- end;
- end;
- procedure BubbleSortString(var arg: array_string; direct: boolean);
- var
- i, j: integer;
- t: string;
- begin
- for i := 1 to INPUT_DATA_LENGTH - 1 do begin
- for j := 1 to INPUT_DATA_LENGTH - i do begin
- if Compare(arg[j], arg[j + 1], direct) then begin
- t := arg[j];
- arg[j] := arg[j + 1];
- arg[j + 1] := t;
- end;
- end;
- end;
- end;
- begin
- assign(f_in, INPUT_FILE);
- reset(f_in);
- assign(f_surname, OUTPUT_Surname);
- rewrite(f_surname);
- assign(f_height, OUTPUT_Height);
- rewrite(f_height);
- assign(f_weight, OUTPUT_Weight);
- rewrite(f_weight);
- ReadSetSurname(f_in, student);
- MakeArraySurname(student, arr_surname);
- BubbleSortString(arr_surname, true);
- ReadSetHeight(f_in, student);
- MakeArrayHeight(student, arr_height);
- BubbleSortString(arr_height, true);
- ReadSetHWeigh(f_in, student);
- MakeArrayWeight(student, arr_weight);
- BubbleSortString(arr_weight, true);
- for i := 1 to INPUT_DATA_LENGTH do begin
- writeln(f_surname, arr_surname[i]);
- writeln(f_height, arr_height[i]);
- writeln(f_weight, arr_weight[i]);
- end;
- close(f_in);
- close(f_surname);
- close(f_height);
- close(f_weight);
- writeln('Done');
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement