Пятница, 18.10.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Гостевая книга [ Добавить запись ]

Страницы: « 1 2 ... 23 24 25 26 27 ... 123 124 »
Показано 361-375 из 1848 сообщений
1488. андрей   (27.12.2007 16:50)
0  
ну я толком не знаю, чтозаписи можно было добавлять, ФИО, телефон , что бы поля записей были.
Ответ: Вот в чем вопрос: если число ограничено (максимальное число определено заранее), то удобнее массив (array), если нет - то список (но его придется потом объяснять).
Сделаю с массивом - завтра пришлю

1487. Baxtiyor   (27.12.2007 16:35)
0  
Здраствуйте Борис. Помоги пожайлуста еще с одной задачкой:Даны натуралъное число n действителъные числа x1,...,xn.Если последователъностъ x1,...,xn упорядочено
по неубыванию (т.е. если х1<x2<...<xn), то оставитъ без
изменения. Иначе получитъ последователъностъ xn,...,x1.
Для решения этой задачи должни ползоватся спиской.
Спосибо за помощъ. Бахтиер.
Ответ: Вот так?
----
TYPE
PNode = ^TNode;
TNode = record
s: Integer;
Next: PNode;
end;
var
Root: PNode;

function Create(value: Integer): PNode;
var
p: PNode;
begin
p:=nil;
New(p);
p^.S:=value;
p^.Next:=nil;
Create:=p
end;

procedure PrintOne(r: PNode);
begin
if r = nil then Exit;
WriteLn(r^.s);
end;

procedure PrintAll(r: PNode);
begin
if r = nil then Exit;
repeat
PrintOne(r);
r:=r^.Next
until r = nil;
end;

procedure Add(var root: PNode; value: Integer);
var p: PNode;
begin
if root = nil then
root:=Create(value)
else begin
p:=root;
while p^.Next <> nil do p:=p^.Next;
p^.Next:=Create(value);
end
end;

procedure AddFromKB(var r: PNode);
var v, res: Integer;
begin
repeat
Write(''Введите целое число '');
{$I-} ReadLn(v); {$I+}
res:=IOResult;
if res <> 0 then WriteLn(''Ошибка ввода'');
until res = 0;
Add(r, v);
end;


procedure Sort(var r: PNode);
var p, q, max: PNode;
temp: Integer;
begin
if r = nil then Exit;
p:=r;
while (p <> nil) do begin
max:=p;
q :=p^.Next;
while q <> nil do begin
if max^.s > q^.s then
max:=q;
q:=q^.Next end;
if max <> p then begin
temp:=p^.s;
p^.s := max^.s;
max^.s:=temp;
end;
p:=p^.Next
end;
end;

procedure Destroy(var r: PNode);
var
p: PNode;
begin
if r = nil then Exit;
while r^.Next <> nil do
begin
p:=r^.Next;
Dispose(r);
r:=p
end;
Dispose(r)
end;

VAR
p: PNode;
i, n: Integer;
BEGIN
WriteLn;
{ WriteLn(MemAvail);}
Root:=nil;
Write(''Введите количество чисел n: ''); ReadLn(n);
for i:=1 to n do
AddFromKB(Root);
PrintAll(root);
WriteLn(''----------'');
sort(Root);
PrintAll(root);

Destroy(Root);
{ WriteLn(MemAvail);}
END.

1486. андрей   (26.12.2007 14:12)
0  
помогите задачу решить. Телефонный справочник.
Составить программу формирования данных об абонентах телефонов: Ф.И.О., телефон.
Организовать поиск телефона по фамилии абонента,
выдаваемый список упорядочить по первой букве фамилии.
Реализовать в виде модуля набор подпрограмм для:
1) Добавления записей в массив (справочник)
2)Вывод на экран полученного массива
3) Упорядочивание массива по заданному полю
Ответ: А справочник в виде массива (array) или в виде списка?

1485. Санёк   (25.12.2007 21:07)
0  
Привет!!!!!
Не знаю,как у вас, а у меня появилось желание скинуть вам игрушку,которую я сам написал.Розпечатывать ее тут неудобно,поэтому я прошу зайти на мой сайт(Тот,что вверху) и скачать игрушку.(Небольшая)
PS:Укажите,плиз,когда вы "лазите" в инете?
И еще:мозно поменяться ссылками?
Ответ: :)) Слазил и письмо написал

1484. вадим   (23.12.2007 11:22)
0  
помоги пожайлуста еще с одной задачкой: Дано целое число N(>1) последовательность вещественных чисел Ак определяется слейдущим образом А1=1, А2=2, А3=3, Ак=(Ак-2+2*Ак-1)/3, к=3,4... . Вывести элементы А1, А2,...,Аn.
Ответ: Это несложно, если не нужно хранить массив (последовательность) - в том случае могут появиться проблемы с размером памяти под массив
Вот:
---
var
N, count: Word;
a1, a2, a3, a: Longint;

BEGIN
Write(''Введите число чисел в последовательности (от 4 до 65535): '');
ReadLn(N);
count:=3;
a1:=1;
a2:=2;
a3:=3; Write(a1:8, a2:8, a3:8);
repeat
a:= a1 + 2*a2;
Write(a:8);
a1:=a2; a2:=a3; a3:=a;
inc(count);
until (count > N) or (count = 0);
{Если отключить проверку на принадлежность диапазону,
так обычно и есть, то если к 65535 прибавить 1, то получим 0}
END.

1483. Санёк   (22.12.2007 22:35)
0  
ВНИМАНИЕ! Кто хочет сыграть в игру,которуя я написал?
Просто копируйте линк в панель адреса:
http:www.smt-meneger.narod.rutp7gameszomor.rar
Сразу говорю,вирусов нету!
(Плиз опублийте это сообщение)
Ответ: Конечно, активизировал и, судя по нашему с Саньком, обмену мнениями - рекомендую
Сам еще не смотрел - дел до этой самой ....

1482. вадим   (22.12.2007 11:02)
0  
помогите пожайлуста задачку решить в TP. Дан текстовый файл если в тексте 2 пробела сделать чтоб был один. заранее спасибо
Ответ: Это можно сделать так:
-----
var
t, tout: Text;
{будем записывать модифицированные строки в tout, а
потом старый удалим, а новый переименуем в старый}
s: String;
BEGIN
Assign(t, ''test.txt'');
Assign(tout, ''test.bak'');

Reset(t); Rewrite(tout);
while NOT EOF(t) do begin
ReadLn(t, S);
While POS('' '', S) <> 0 do delete(S, POS('' '',S), 1);
{POS определяет положение подстроки в строке.
Если есть такие, то один из них удаляем}
WriteLn(tout, S);
{Записываем модифицированную строку в новый файл}
end;
Flush(tout);
Close(t); Erase(t); {Закроем старый и удалим}
Close(tout);
Rename(tout,''test.txt''); {Переименуем новый в старый}
END.

1481. Baxtiyor   (20.12.2007 18:17)
0  
Здраствуйте Борис
Вычислит по схеме Горнера значение многочлена с ратционалными коффициентами для данного ратционалного значения переменной.Считатъ,что числители и знаменатели коффициентов записаны в файле f: вначале числителъ и знаменател старшего коффициента и т.д.,в последнюю очередъ числителъ и знаменателъ свободного члена.
Зарание спосибо.Бахтиер.
Ответ: Нужно уточнить:
1) где значение переменной? Какого она типа?
2) Эти числители и знаменатели - целые числа?
3) Название файла фиксировано или нужно вводить?

1480. Санёк   (20.12.2007 17:24)
0  
Я вам не надоел?У меня вопрос.Как сменить атрибуты у файла(Это мне нужно,чтобы некоторые не срывали игру)?
Ответ: USES DOS;
{
ReadOnly $01
Hidden $02
SysFile $04
VolumeID $08
Directory $10
Archive $20
AnyFile $3F }

CONST
FileAsCopy = ''''san02a.exe'''';
VAR
fout: File;
BEGIN
Assign(fout, FileToRead);
SetFAttr(fout, ReadOnly);
END.
=====
Важно, чтобы файл существовал и не был открыт

1479. Санёк   (20.12.2007 17:15)
0  
Здасте!Это я еще черт знает какой раз к вам обращаюсь.У меня слудующая проблема.Я пишу иргу.Но после того,как сеть оборвалась(в игре) надо удалять файл с списком игроков.Как это зделать(Удалить файл целиком и полностью)?
Ответ: Это делает команда ERASE, но если нужно удалить файл БЕЗ ВОЗМОЖНОСТИ ВОССТАНОВЛЕНИЯ, его нужно "пробить" по всей длине чем-нибудь, например, нулями, как в примере
=============
USES DOS;
CONST
FileName = ''san02.txt'';
d: Byte = 0;
VAR
fout: File of Byte;
i, size: LongInt;
BEGIN
Assign(fout, FileName);
{$I-} Reset(fout); {$I+}
if IOResult <> 0 then begin
WriteLn(''Не могу открыть файл '', FileName); Halt(1) end;
size:=FileSize(fout);
WriteLn(size);
for i:=1 to size do Write(fout, d);
Close(fout);
{$I-}Erase(fout); {$I+}
if IOResult <> 0 then WriteLn(''Не могу удалить '', FileName);
END.

1478. Iner   (20.12.2007 08:30)
0  
Привет еще раз
не поможете еще пару задачек решить?)
1. Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9.

2. Найти все трехзначные числа, которые можно представить разностью между квадратом числа, образованного первыми двумя цифрами и квадратом третьей цифры.
Ответ: Вот решение обеих простым перебором (наверно так нужно решать?)
----
{Простым перебором}
var
i, k, sum, sum2, prod: Integer;
BEGIN
for i:=10 to 99 do begin
sum:= i div 10 + i mod 10;
for k:=2 to 9 do begin
prod:= i*k;
sum2:=0;
while prod <> 0 do begin
sum2 := sum2 + prod mod 10;
prod := prod div 10
end;
if sum = sum2 then write(i:3, k:3,'' '');
end;
end;
WriteLn;
for i:= 100 to 999 do begin
sum := i div 10; {Двузначное}
sum2 := i mod 10; {Однозначное}
if sum*sum - sum2*sum2 = i then Write(i:6);
end;
WriteLn;
END.

1477. Санёк   (19.12.2007 15:29)
0  
Блин!Вы меня не поняли.Я имел в виду,как делать это програмно?Тоисть программа копирует файл сама
Ответ: Ну так писать надо ... (А ICQ зачем спрашивал?)
вот так можно копировать абсолютно любой файл любого размера
--
CONST
FileToRead = ''san02.pas'';
FileAsCopy = ''san02.txt'';
VAR
fin, fout: File;
buf: array[1..1024] of byte;
readed: Integer;
BEGIN
Assign(fin, FileToRead);
{$I-} Reset(fin, 1); {$I+}
if IOResult <> 0 then begin
WriteLn(''Не могу открыть файл '', FileToRead); Halt(1)
end;
Assign(fout, FileAsCopy);
Rewrite(fout, 1);
repeat
BlockRead(fin, buf, sizeof(buf), Readed);
if readed <> 0 then
BlockWrite(fout, buf, readed, readed)
else Break
until FALSE;
Close(fin);
Close(fout);
END.

1476. Санёк   (18.12.2007 21:49)
0  
Подскажите,плиз,как копировть файлы в турбо паскале?
Отдаюсь с руками и ногами!
Ответ: Копировать:
1) Выделяешь в Windows;
2) Нажимаешь в среде разработки Pascal Ctri+O+I - чтобы не было автоматических отступов:
3) Заходишь в системное меню (иконка слева в самом верху окна (в оконном представлении)) и выбираешь пункт "Изменить -> Вставить"
4) Опять Ctrl+O+I
PS: Чтобы были русские буквы, в обоих окнах должна быть включена одинаковая раскладка клавиатуры (на некоторых машинах)

ЗЫ: BP.EXE лучше TURBO. BP.EXE лучше ведет себя под виндами, он, по крайней мере, знает о существовании их. И В ЛЮБОМ СЛУЧАЕ: переходи на FreePascal - это современный продукт

1475. Baxtiyor   (18.12.2007 19:18)
0  
Здраствуйте Борис!. Спосибо за решение задачи и за вни
мание.Если будетъ трудно с задачами,к Вам можно обратит
ся.
Бахтиер.
Ответ: Конечно. Тем более, что и адрес почты моей Вы знаете

1474. Санёк   (18.12.2007 18:32)
0  
А можно у вас организовать рекламу?Или обменятся ссылками?А?
Ответ: За это отвечает другой человек - спишусь - отвечу


Имя *:
Email *:
WWW:
Код *:
Поиск
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Copyright MyCorp © 2024
    Конструктор сайтов - uCoz