• 29 November 2014
    • Беларуская мова
    • Автор: Bigmaker

    Нужно решения задач по Delphi...(хотя бы одной)
    1,Описати статичний масив.
    Масив зчитується з текстового файлу.
    Визначити:
    Мінімальне значення масиву, його індекси

    Задана матриця (n×m). Визначити номер рядка, середньоарифметичне елементів якої менше за середньоарифметичне попереднього рядка


    2.Текстовий файл F1 має містити не менше 10 рядків.
    Скопіювати з файлу F1 в файл F2 всі рядки, які не містять слова, яке починається за задану літеру. Визначте найкоротше слово у файлі F2.


    • 29 November 2014
    • Ответ оставил: Галинка9519

    Завдання №2

    var i,j,k,shlth:integer;
       
          letter:
    char;
          name,minword,s1,x,x1:string;   
          f1,f2:text;
       
          f:
    boolean;
       
          arr:array [
    1..100] of string;

    label 1;  

    begin
    writeln('Введіть імя файлу введення:');
    readln(name);
    assign(f1,name); reset(f1);
    writeln('Введіть імя файлу виводу:');
    readln(name);
    assign(f2,name); rewrite(f2);
    writeln('Введіть букву для пошуку:');
    readln(letter);
    letter:=lowercase(letter);
     j:=1;  

    while not eof(f1) do

    begin  
    readln(f1,x1);
     
    x:=lowercase(x1);
     
    i:=
    1;
     
    while (i<=length(x)) and (x[i] <> letter) do
     
     begin
       
      while
    (i<=length(x)) and (x[i] = ' ') do inc(i);
       
      if (i<=length(x)) and (x[i] <> letter) then
         
       while
    (i<=length(x)) and (x[i] <> ' ') do inc(i);
     
     end;
       
     if i>length(x) then
      begin
       writeln(f2,x1);
       arr[j]:=x1; 
       inc(j);
     
      end;

    end;  

    f:=false;

    for k:=1 to j do
    begin  
     i:=1;
     
     while (i<=length(arr[k])) and (arr[k][i] =
    ' ') and not f do inc(i);

     if i<length(arr[k])+1 then begin f:=true; goto 1; end;
    end;  

    1: if not f then writeln('У файлі f2 немає слова, відповідного умові вибору') else

    begin
     while (arr[k][i]<>' ') and (i<=length(arr[k])) do
      begin
      minword:=minword+arr[k][i];
      inc(i);
      end;
     
     for k:=
    1 to j do
     begin  
      i:=1;
     
      while i<=length(arr[k]) do
     
       begin
      
       while
    (i<=length(arr[k])) and (arr[k][i] = ' ') do inc(i);
       if i<=length(arr[k]) then begin shlth:=1; s1:=arr[k][i]; end;
       while (i<=length(arr[k])) and (arr[k][i] <> ' ') do begin s1:=s1+arr[k][i]; inc(i); inc(shlth);  end;
       if shlth<length(minword) then minword:=s1;
       end;
     end;
    writeln('Найкоротша слово у файлі f2: ',minword);
    end;    
     
    close(f1); close(f2);
    end.

    Оцени ответ
    • НЕ НАШЛИ ОТВЕТ?
    Если вас не устраивает ответ или его нет, то попробуйте воспользоваться поиском на сайте и найти похожие ответы по предметы...

Последние опубликованные вопросы