Задачи, в них есть не точность, помогите исправить |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задачи, в них есть не точность, помогите исправить |
Geroi |
5.05.2003 17:35
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 29 Репутация: 0 |
1) "Файл f содержит записи следующей структуры:
- имя студента; - пол; - рост; - оценки по трем экзаменам. Написать функцию TASK_3_1 (f), проверяющую, есть ли среди юношей отличники." Вот решение этой задачи: Код uses wincrt; type student=record name:string[11]; male:char; {ж - жен, м - муж} height:byte; marks:array[1..3] of 2..5; end; myfile=file of student; var f:myfile; vova:student; var i,j:byte; procedure input(var f:myfile); begin assign(f,'C:stud.txt'); rewrite(f); for i:=1 to 3 do begin with vova do begin write('Введите фамилию студента: '); readln(name); write('Введите пол студента (м или ж): '); readln(male); write('Введите рост студента: '); readln(height); for j:=1 to 3 do begin write('Введите оценку по ',j,'ому предмету: '); readln(marks[j]) end end; write(f,vova) end; close(f) end; procedure task_3_4(var f:myfile); var ocenka,k:byte; begin reset(f); ocenka:=0; for i:=1 to 2 do begin with vova do begin k:=0; read(f,vova); for j:=1 to 3 do begin if (marks[j]=4) or (marks[j]=5) then begin inc(k) end; end; if k=3 then writeln('---> ',name,' имеет положительные оценки ') else inc(ocenka) end end; if ocenka=2 then writeln('---> Студентов с положительными оценкам нет'); close(f) end; begin input(f); task_3_4(f) end. В этой задаче когда вводишь данные : отличник, троешник, отличник, Он выводит первого отличника, а третьего не выводит. !!!!! и ещё есть некторые случаи.! Тут где-то явно маленький касяк. Посмотрите пожалуйста, подскажите. Сообщение отредактировано: volvo - 17.12.2004 12:45 |
Geroi |
5.05.2003 17:44
Сообщение
#2
|
Новичок Группа: Пользователи Сообщений: 29 Репутация: 0 |
Вот вторая:
Код {Задача 3. Задан текстовый файл 'a.txt'. Написать программу, которая утраивает значения слов, являющиеся четными числами.} uses wincrt; type myfile=text; var f,f1:myfile; i,k:byte; w,c:integer; ch:string; erccode:integer; begin assign(f,'C:kontrolX1.txt'); reset(f); {открываем для решения} Assign(f1,'C:kontrolX2.txt'); Rewrite(f1); while not seekeof(f) do {не конец файла} {seek} while not seekeoln(f) do {не конец строки} {----} begin read(f,ch); {readln} k:=0; for i:=1 to length{длина строки}(ch) do if (ch[i] in ['0'..'9']) then inc(k); if k=length(ch) then begin val(ch,c,erccode); if c mod 2=0 then c:=3*c; str(c,ch); writeLn(f1,ch) end else writeLn(f1,ch) end; close(f); close(f1); erase(f); rename(f1,'c:kontrolX.txt') end. Она работает только тогда, когда вводишь одно число в строке, и потом enter, а если введешь два числа или более, она не пашет, как сделать??!?!?!?!? Помогите пацаны, завтра сдавать.! Сообщение отредактировано: volvo - 17.12.2004 12:46 |
___ALex___ |
5.05.2003 19:38
Сообщение
#3
|
Бывалый Группа: Пользователи Сообщений: 282 Репутация: 0 |
А тебе её по-моему уже Ivs писал!?
Там всё правильно было!И нет никакого условия типа что надо использовать только один файл. Так что оно "покатит"!(решение) а на счёт первой проги ты там сильно мудришь всё проще |
Geroi |
6.05.2003 5:42
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 29 Репутация: 0 |
да с первой вродене ничё токого, сначало вводишь данные, потом проверяешь. Только там касяк есть...... блинзапустили бы посмотрели хоть, первую
|
___ALex___ |
6.05.2003 5:50
Сообщение
#5
|
Бывалый Группа: Пользователи Сообщений: 282 Репутация: 0 |
сегодня посмотрю
|
Geroi |
6.05.2003 6:33
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 29 Репутация: 0 |
да Я уже через час понесу сдавать
чему быть, тому не миновать. А задача Ivs вроде правильная... |
Geroi |
6.05.2003 6:50
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 29 Репутация: 0 |
По первой задаче вопрос исчерпан, нашёл касяк
Ща буду с Ивса задачей разбираться, но касяк когда Я её токо запускаю, он мне выдаёт ошибку, как бы в отдельном окне и там пишет : "Error, потом на след. строчке, Runtime error 002 at 0001:0045." Чё делать? |
___ALex___ |
6.05.2003 11:40
Сообщение
#8
|
Бывалый Группа: Пользователи Сообщений: 282 Репутация: 0 |
файл "a.txt" сначала создай и напиши туда что-нибудь
|
Ivs |
6.05.2003 17:15
Сообщение
#9
|
Бывалый Группа: Пользователи Сообщений: 209 Репутация: 0 |
Цитата файл "a.txt" сначала создай и напиши туда что-нибудь Это точно... или ты что, хочеш чтобы прога сама создавала файл, писАла туда чего-нибудь, и выдавала правильные результаты, это конечно было бы неплохо, но увы и ах...... -------------------- Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
|
Geroi |
6.05.2003 19:19
Сообщение
#10
|
Новичок Группа: Пользователи Сообщений: 29 Репутация: 0 |
Ивс всё ок, просто сначала не разобрался и начал пороть гарячку. Всё оки, рабоает, уже посдавал.
Всем спасибо.! |
Текстовая версия | 30.09.2024 13:08 |