Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 402
от 17.06.2007, 11:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 253, Экспертов: 64
В номере:Вопросов: 4, Ответов: 7


Вопрос № 90960: Здравствуйте, очень нужна ваша помощь, помогите пожалуйста решить 2 задачки: 1) Пусть дан текстовый файл. Для каждой строки распечатайте первое из слов, содержащих наибольшее число различных букв. 2) Дан файл, содержащий текст на ру...
Вопрос № 90967: Здравствуйте эксперты. Написать программу, которая показывает кол-во учеников в классе, чей рост превышает средний. Спасибо. ..
Вопрос № 90993: Пусть даны два текстовых файла. Опредклить равны ли они. Равенство понимается в смысле совпадения соответствующих символов и одинакового деления на строки...
Вопрос № 91030: Сделайте пожалуйста полную программу. Организация и отладка программ с использованием процедур. Задание: Составить алгоритм для нахождения наименьших элементов матриц A[10,12], B[15,10], C[8,10] и номеров строк и столбцов, в которых о...

Вопрос № 90.960
Здравствуйте, очень нужна ваша помощь, помогите пожалуйста решить 2 задачки:

1) Пусть дан текстовый файл. Для каждой строки распечатайте первое из слов, содержащих наибольшее число различных букв.

2) Дан файл, содержащий текст на рус. языке. Выяснить, входит ли введенное с клавиатуры слово в указанный текст. И если да, то сколько раз.
Отправлен: 11.06.2007, 15:19
Вопрос задал: Максим Сергеевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Градов Юрий Михайлович
Здравствуйте, Максим Сергеевич!
По первому вопросу:
type ar = Record
n: integer;
s: string;
end;

var F: TextFile;
s,tmp: string;
A: Set of Char;
Mass: array[1..100] of ar;
n,count,i,j,max: integer;
begin
ClrScr;
Assign(F,'text.txt');
Reset(F);
While not Eof(F) do
begin
n:=1;
Readln(F,s);
for j:=1 to Length(s) do
begin
if s[j]<>' ' then
begin
tmp:=tmp+s[j];
end else
begin
for i:=1 to Length(tmp) do
begin
if Not(tmp[i] in A) then
begin
Inc(count);
A:=A+[tmp[i]];
end;
end;
Mass[n].n:=count;
Mass[n].s:=tmp;
count:=0;
tmp:='';
Inc(n);
A:=[];
end;
end;
max:=0;
for i:=1 to n do
begin
if max begin
max:=Mass[i].n;
count:=i;
end;
end;
if max<>0 then Writeln(Mass[count].s,Mass[count].n);
end;
CloseFile(F);
ReadKey;
end.

По второму вопросу в приложении:

Приложение:

---------
Глаза боятся - руки делают!

Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 11.06.2007, 17:52
Оценка за ответ: 5
Комментарий оценки:
спасибо большое

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Максим Сергеевич!

Смотрите приложение.
Программа выполняет первую задачу и потом переходит ко второй.
Удачи!

Приложение:

---------
И только наступив на грабли мы преобретаем драгоценный опыт!

Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 11.06.2007, 18:29
Оценка за ответ: 5
Комментарий оценки:
спасибо большое


Вопрос № 90.967
Здравствуйте эксперты.
Написать программу, которая показывает кол-во учеников в классе, чей рост превышает средний.
Спасибо.
Отправлен: 11.06.2007, 16:42
Вопрос задал: yzynkol (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Nazar__D
Здравствуйте, yzynkol!
Не совсем понял, откуда брать этот средний рост. Если высчитывать, то вот текст программы. Если вводить с клавиатуры - еще проще, надеюсь переделаете на основании этого текста. :)

Приложение:

---------
Я - українець!

Ответ отправил: Nazar__D (статус: 1-ый класс)
Ответ отправлен: 11.06.2007, 17:10

Отвечает: Левадный Тимур Русланович
Здравствуйте, yzynkol!
Помоему мой способ по пороще.

Приложение:

Ответ отправил: Левадный Тимур Русланович (статус: 1-ый класс)
Ответ отправлен: 11.06.2007, 21:58


Вопрос № 90.993
Пусть даны два текстовых файла. Опредклить равны ли они. Равенство понимается в смысле совпадения соответствующих символов и одинакового деления на строки
Отправлен: 11.06.2007, 20:56
Вопрос задал: Иванов Максим Андреевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gh0stik
Здравствуйте, Иванов Максим Андреевич!

Вот решение данной задачи:
var f1,f2:text;
b:boolean;
s1,s2:string;
i:integer;
begin
assign(f1,'f1.txt'); reset(f1);
assign(f2,'f2.txt'); reset(f2);
b:=true;
while not eof(f1) do
begin
readln(f1,s1); readln(f2,s2);
if length(s1)=length(s2) then
begin
for i:=1 to length(s1) do
if s1[i] < > s2[i] then b:=false;
end
else b:=false;
if not b then break;
end;
if not eof(f2) then b:=false;
close(f1);
close(f2);
if b then writeln('files is equal') else writeln('files is not equal');
end.


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 11.06.2007, 21:21

Отвечает: Градов Юрий Михайлович
Здравствуйте, Иванов Максим Андреевич!
Решить можно таким образом:
Можно использовать if Pos(s1,s2)=1, но тогда будет сравниваться только начало строки s1 в s2.

Приложение:

---------
Глаза боятся - руки делают!

Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 11.06.2007, 23:22


Вопрос № 91.030
Сделайте пожалуйста полную программу.
Организация и отладка программ с использованием процедур.
Задание:
Составить алгоритм для нахождения наименьших элементов матриц A[10,12], B[15,10], C[8,10]
и номеров строк и столбцов, в которых они находятся.
Отправлен: 12.06.2007, 08:36
Вопрос задал: Santa2 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Шпилевский Евгений Васильевич
Здравствуйте, Santa2!
Если я вас правильно понял, то думаю, что может быть такое решение вам подойдет:
type
arr = array[1..15,1..12] of LongInt;

var
a , b , c : arr;
i , j : LongInt;
mx , my : byte;

procedure src(r : arr; w,h : byte; var rx,ry : byte);
begin
rx:=1; ry:=1;
for i:=1 to w do
for j:=1 to h do
if r[i,j]>r[rx,ry] then begin
rx:=i; ry:=j;
end;
end;

begin
for i:=1 to 10 do for j:=1 to 12 do a[i,j]:=random(1000);
for i:=1 to 15 do for j:=1 to 10 do b[i,j]:=random(1000);
for i:=1 to 8 do for j:=1 to 10 do c[i,j]:=random(1000);

src(a,10,12,mx,my);
writeln('Max in a: ',a[mx,my],' POS(',mx,',',my,')');
src(b,15,10,mx,my);
writeln('Max in b: ',b[mx,my],' POS(',mx,',',my,')');
src(c,8,10,mx,my);
writeln('Max in c: ',c[mx,my],' POS(',mx,',',my,')');
end.
Ответ отправил: Шпилевский Евгений Васильевич (статус: 1-ый класс)
Ответ отправлен: 12.06.2007, 12:17


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное