slonpts
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору № 2: Цитата: {считаем, что вхлдной массив лежит в файле 02.txt в первой строке - число элементов массива, во второй строке через пробел - сами элементы Пример: 7 7 6 3 2 1 5 6 } var f: text; {входной файл} a: array[1..1000] of integer; {сортируемый массив} n: integer; {число используемых элементов в массиве} i, j: integer; {счетчики} tmp: integer; {временная переменная} BEGIN {считываем данные из массива} assign(f, '02.txt'); reset(f); readln(f, n); for i:= 1 to n do read(f, a[i]); close(f); {пузырьковая сортировка четных элементов} i:= n; while (i >= 2) do begin j:= 2; while (j < i) do begin if (a[j] < a[j+2]) then begin tmp:= a[j]; a[j]:= a[j+2]; a[j+2]:= tmp; end; j:= j + 2; end; i:= i - 2; end; {пузырьковая сортировка нечетных элементов} i:= n; while (i >= 1) do begin j:= 1; while (j < i) do begin if (a[j] > a[j+2]) then begin tmp:= a[j]; a[j]:= a[j+2]; a[j+2]:= tmp; end; j:= j + 2; end; i:= i - 2; end; {вывод результатов на экран} for i:= 1 to n do writeln(a[i], ' '); readln; END. | № 4: Цитата: var f: text; {текстовый файл} c: char; {считываемый символ} sum: integer; {сумма цифр} BEGIN assign(f, '04.txt'); {говорим, что файл f имеет имя '04.txt'} reset(f); {открываем файл на чтение} while (not eof(f)) do {если eof(f) = true, то мы достигли конца файла т.е. считываем, пока файл не кончится} begin read(f, c); {считываем символ из файла} {если c - цифра, то добавляем ее в сумму} if ((c <= '9') and (c >= '0')) then sum := sum + (ord(c) - ord('0')); {функция ord(c) возвращает ASCII-код символа c (его номер в ASCII-таблице), т.е. если из ord от цифры вычесть ord '0', то мы получим цифру (фича в том, что цифры в ASCII-коде идут по порядку от 0 до 9)} end; {закрываем файл, если этого не сделать, вся информация потеряется} close(f); {выводим результаты на экран} writeln('sum = ', sum); writeln('Press enter to exit.'); readln; END. | Если что-то непонятно - спрашивай, хоть я и пытался откомментировать как можно подробнее. P.S. А еще можно указывать дату сдачи, после которой помощь бесполезна. Удачи. |