Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Как купить рекламу на форуме


Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 20000 рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2008, 11:38   #1
Gaika
Пользователь
 
Аватар для Gaika
 
Регистрация: 02.07.2008
Сообщений: 11
По умолчанию Сформировать список строк L1, считав его из файла input.txt

В Delphi!Сформировать список строк L1, считав его из файла input.txt. Для каждой строки списка найти значение некоторой характеристики. Занести вычисленное значение в список L2 нетипизированных указателей. Удалить из списка строк элементы, удовлетворяющие некоторому условию. Во вновь получившемся списке L1 сравнить характеристику i-го элемента S со значением i-го элемента списка L2. Если эти значения совпадают, добавить в список строк L3 элемент, состоящий из строки S и ее характеристики. Список L3 сохранить в файле output.txt.
Характеристика: количество предлогов
Условие: произведение делителей характеристики – двухзначное число
Ну у кого-нить хоть какие-нибудь мыслишки есть?Не хочу опять пересдавать...из-за одной из12 работ(((((

Последний раз редактировалось Gaika; 02.07.2008 в 20:43.
Gaika вне форума Ответить с цитированием
Старый 02.07.2008, 21:32   #2
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Задачку решать не буду. Это уже сделаете сами лишь помогу кое с чем
Итак, чтобы прочитать из файла надо
Код:
var f:Tstrings;
begin
f:=TStringList.Create();
f.LoadFromFile('input.tx');
Потом надо цикл организовать.
Берем построчно и проверяем каждую букву
Для этого опять же обьявляем переменные
Код:
var l:string;
     i,j:integer;
     s:TStrings;

s:=TStringList.Create(); 

for i:=0 to f.Count do 
begin
 l:=f.Strings[i];
  for j:=0 to lenght(l) do
  begin
  //вот теперь и проверяй тут символы на условие.
  //допустим если считать предлогом одиночный символ то  
  if (Copy(l,j-1,1)=' ') and (Copy(l,j+1,1)=' ')  then ...
 end;
 // Ну там выполняем что то.... что нужно. например переделанную l(вы же что то хотите с ней делать?) вставляем в новый стороквый массив
 s.Strings[i]:=l
end;
Теперь вам нужно все записать в новый файл
опять же цикл
Код:
var a:TextFile;
     k:integer;
begin
AssignFile(a,'output.txt');
Rewrite(a);

for k:=0 to s.Count do
begin
Writeln(a,s.Strings[k]);
CloseFile(a);
end;
end;
может где то не точности, но суть в этом.
Программу уж сами составите. (не люблю сам писать все)

Я описал только то, какие знания нужны для составления этой программы. но я не вникал в суть вашей задачи. так что, если что то не так, то уж извините если что то не так
Писано по д'Эльфийски

Последний раз редактировалось Stilet; 03.07.2008 в 07:05.
Лубышев вне форума Ответить с цитированием
Старый 02.07.2008, 22:34   #3
Gaika
Пользователь
 
Аватар для Gaika
 
Регистрация: 02.07.2008
Сообщений: 11
По умолчанию

Спасибо!Я уже посчитала количество предлогов(делала правда не так как предлагаете),но все равно спасибо!А вот дальше не понимаю!Вот,допустим, получилось у меня количество предлогов в одной строке 9(произведение делителей 1*3*9=27 двузначное число)какую программу надо написать,чтобы это найти вот это произведение делителей???
Gaika вне форума Ответить с цитированием
Старый 02.07.2008, 23:26   #4
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от Gaika Посмотреть сообщение
Вот,допустим, получилось у меня количество предлогов в одной строке 9(произведение делителей 1*3*9=27 двузначное число)какую программу надо написать,чтобы это найти вот это произведение делителей???
Код:
var
    product : longint;
    test    : longint;
    i       : longint;

begin
    test := 9;

    product := 1;
    for i := 1 to test do begin
        if test mod i = 0 then product := product * i;
    end;
    write (test, ' - ', product);
    if (product >= 10) AND (product < 100) then writeln (' - OK');
    readln;
end.
B_N вне форума Ответить с цитированием
Старый 03.07.2008, 06:33   #5
Gaika
Пользователь
 
Аватар для Gaika
 
Регистрация: 02.07.2008
Сообщений: 11
По умолчанию

Сапсиб огромное!
Gaika вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Данные-проверка-список (список на другом листе) Inbox Microsoft Office Excel 7 26.12.2008 01:43
Как сформировать запрос RDS2008 БД в Delphi 10 07.03.2008 23:01
Excel max 256 строк VS user надо 300 строк Exo Microsoft Office Excel 3 10.01.2008 17:14
[pascal]создать линейный список из элементов файла sunny19 Паскаль, Turbo Pascal, PascalABC.NET 1 25.06.2007 19:33



Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS