Помощь - Поиск - Пользователи - Календарь
Полная версия: Массивы и текстовые Файлы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Angelus
категорически не хватает времени для учёбы, по готовому коду могу сообразить что куда, а самому сделать не выходит может кто поможет в решении пары задачек. Или примеры таких программ, а я сам попробую в них разобраться

1)

(Условие)
Разработать программу обработки заданного массива. Программа должна включать ввод исходного массива, его обработку и вывод результатов.
(Задача)
Переписать каждый третий элемент массива К(15) в К1(5).

2)
(Условие)
В программе обработать исходный текстовый файл в соответствии с указанным вариантом. Если задание предполагает изменение текста, то получить новый файл, а затем вывести его. Исходный текстовый файл заготовить при помощи любого текстового редактора.
(Задача)
Подсчитать количество строк, не содержащих заданный символ.


3)
(Условие)
Требуется вначале заготовить файл комбинированного типа отдельной программой (количество записей в файле должно быть не менее 10), а затем выполнить обработку этого файла в соответствии с заданием.
Составить программу обработки сведений о студентах своей группы. Данные находятся в файле. Последовательность данных следующая:
фамилия - 20 символов,
имя - 15 символов,
отчество - 20 символов,
число, месяц, год рождения - целые,
оценки по 4 предметам сессии – целый массив (последовательность экзаменов: ЛА и АГ, мат. анализ, физика, ПТЦА);
количество неудовлетворительных оценок, полученных студентом.
В программе предусмотреть вывод содержимого исходного файла для тех полей, которые представляют интерес для выполнения конкретного задания.
(Задача)
Выбор родившихся в заданном году.







Не дайте погибнуть sad.gif :molitva:
volvo
Цитата(Правила раздела)
1. Заголовок темы должен быть информативным. В противном случае тема удаляется

Или ты меняешь название темы, или она будет удалена.
+ К этому, готовых "под ключ" решений не жди, здесь ПОМОГАЮТ решать задачи, а не делают их за кого-то.
Angelus
Цитата(volvo @ 3.09.05 14:28)
Цитата(Правила раздела)
1. Заголовок темы должен быть информативным. В противном случае тема удаляется

Или ты меняешь название темы, или она будет удалена.
+ К этому, готовых "под ключ" решений не жди, здесь ПОМОГАЮТ решать задачи, а не делают их за кого-то.

готовой я и не жду я же написал что по коду попробую и сам разобраться Хотя бы примерно как делать? Просто никогда в жизни не учил программирование щас пытаюсь сам разобраться (Учусь но на заочном на киповца, а программирование для меня дебри) А времени на все контрольные не хватает
Если что не так то Sorry!
volvo
Насчет задачи №3: попробуй поискать по форуму - были десятки подобных задач. Ну, например, вот тут: Типизированные файлы
Да и остальные задания пробегали...
klem4
Полностью согласен с Volvo, все что тебе нужно для решения есть на форуме, вот небольшие подсказки

для первого задания :


i:=3;
while(i<=15) do begin
k1[i div 3]:=k[i];
inc(i,3);
end;


Для второго читаешь строку S из файла , а затем провераешь, есть ли в ней заданный символ CH с помощью ф-и pos

if pos(ch, s) = 0 then // символ есть, увеличиваем счетчик на 1
inc(count);


:no: Наоборот, смотри что требуется:
Цитата(Задание)
Подсчитать количество строк, не содержащих заданный символ.
Volvo


исправил ;)

klem4

ну а 3-е -- стандартная задача на записи, поищи по форуму.

зы на все дополнительные впросы может ответить наш FAQ, ну а если ответов не найдешь, то спрашивай ...
Angelus
ну вроде ввод элементов для первой задачи сделал
кажись получилось, ...

Код

const N=15;
Var          
X: Array [1..N] Of Integer;

i: Integer;              
Begin    
WriteLn ('Vvod elementov.');
WriteLn ('Vvedite elementi:');
For i := 1 To N Do              
Begin    
Write ('X[', i, '] = ');              
ReadLn (X[i]);      
End;      
WriteLn ('vvod zavershen.');
ReadLn;
End.  


щас попробую с подсказкой klem4а разобраться.
Тяжело это всё даёться но когда получаеться даже интересно...
Angelus
не всё, нифига не выходит дальше 3 дня мучался, короче пойду завтра отдавать кому нить. Видимо программирование это не моё. Спасибо за помощ но научить меня этому видимо практически не возможно.
Angelus
Нифига себе первую задачку сделал, оказалось проще чем думал.
klem4
нуачить можно любого, было бы желание smile.gif
вот вторая задача, убедись как все просто ... :yes:

uses crt;
var
f : text;
s : string;
ch : char;
count : integer;

Begin

clrscr;

write('ch = '); readln(ch);

Assign(f, 'c:\MyFile.txt');

reset(f);

count := 0;

while not(eof(f)) do begin
readln(f, s);
if pos(ch, s) = 0 then
inc(count);
end;

Close(f);

writeln('count = ', count);

readln;

End.
Angelus
на счёт научить любого эт точно.. Даже меня можно :D . спасибо за подсказку щас буду разбираться.

Добавлено:
А почему при запуске твоего кода у меня пишет
Error 200: Division by zero
Кидаю программу в паскаль и запускаю

Что я делаю не так???
Файлик MyFile.txt положил в корень диска С
klem4
Какая у тебя версия паскаля ? Скорее всего эта ошибка старого модуля CRT, новый можно найти на форуме или скачай другой паскаль с нашего сайта www.pascal.dax.ru
Angelus
ага точно взял другую версию и заработало
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.