Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2012, 13:35   #1
daniil-640
 
Регистрация: 30.05.2012
Сообщений: 5
По умолчанию Дописать программу на Pascal ABC

Программа ищет повторы в массиве букв, и формирует новый массив, в котором отсутствуют эти повторы ( допустим если вводим строку 848asggsrt, то на выходе результат будет 84asgrt) Нужно дописать проверку вводимых данных! Типо Если нет повторов ( если введено sdfrtyuj => повторов нет) выводиться сообщение об отсутствии повторов. ПОмогите дописать это!
Код:
 program LAB10;
var i,j,k: integer;
var symb: char;
var b:boolean;   n:integer;
var ishodn, rezult: array[1..20] of string[70];
begin
 writeln('введите количество строк '); readln(n);
 writeln('введите массив:');
 for i:=1 to n do
  begin
   write(i:2,'.');
   readln(ishodn[i]);
  end;
 writeln;
 writeln('результат');
 writeln('---------------------------');
 for i:=1 to n do
  begin
   rezult[i]:=ishodn[i][1];
   for j:=2 to 70 do
    begin
     symb:=ishodn[i][j];
     b:=true;
     for k:=1 to length(rezult[i]) do
      begin
       if rezult[i][k]=symb then
        begin
         b:=false;
         break;
        end;
      end;
     if b then rezult[i]:=rezult[i]+symb;
    end;
writeln(rezult[i]);
    
    
  end;
end.
не могу понять где написать сию проверку

Последний раз редактировалось daniil-640; 30.05.2012 в 13:39.
daniil-640 вне форума Ответить с цитированием
Старый 30.05.2012, 13:57   #2
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию

Цитата:
Сообщение от daniil-640 Посмотреть сообщение
Программа ищет повторы в массиве букв, и формирует новый массив, в котором отсутствуют эти повторы ( допустим если вводим строку 848asggsrt, то на выходе результат будет 84asgrt) Нужно дописать проверку вводимых данных! Типо Если нет повторов ( если введено sdfrtyuj => повторов нет) выводиться сообщение об отсутствии повторов. ПОмогите дописать это!
Код:
 program LAB10;
var i,j,k: integer;
var symb: char;
var b:boolean;   n:integer;
var ishodn, rezult: array[1..20] of string[70];
begin
 writeln('введите количество строк '); readln(n);
 writeln('введите массив:');
 for i:=1 to n do
  begin
   write(i:2,'.');
   readln(ishodn[i]);
  end;
 writeln;
 writeln('результат');
 writeln('---------------------------');
 for i:=1 to n do
  begin
   rezult[i]:=ishodn[i][1];
   for j:=2 to 70 do
    begin
     symb:=ishodn[i][j];
     b:=true;
     for k:=1 to length(rezult[i]) do
      begin
       if rezult[i][k]=symb then
        begin
         b:=false;
         break;
        end;
      end;
     if b then rezult[i]:=rezult[i]+symb;
    end;
writeln(rezult[i]);
    
    
  end;
end.
не могу понять где написать сию проверку
Код:
Function GetCharOneCountFromText(StrValue:string):string;
  var
    ch:array[1..255] of integer;
    y,x:integer;
    l:integer;
    s2:string;
begin
 for X:=1 to 255 do ch[x]:=0;
  l:=length(StrValue);
 for X:=1 to l do ch[ord(StrValue[x])]:=ch[ord(StrValue[x])]+1;
 s2:='';
 for x:=1 to l do
 if (ch[ord(StrValue[x])]=1) then if s2='' then s2:=s2+StrValue[x] else s2:=s2+','+StrValue[x];
 result:=s2;
end;
{для тех у кого файл  }
Function GetOneCountCharFromFile(Filename:string):string;
  var T:TstringList;
begin
if FileExists(Filename) then begin
 T:=TstringList.Create;
 t.LoadFromFile(Filename);
 result:=GetCharOneCountFromText(t.Text);
 t.Free;
 end else result:='';

end;
http://netsoftware.ucoz.ru/news/vybr.../2012-05-28-80
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума Ответить с цитированием
Старый 30.05.2012, 14:14   #3
daniil-640
 
Регистрация: 30.05.2012
Сообщений: 5
По умолчанию

Ну и что это мне дало? мне просто нужно организовать проверку, если нет повторов, то вывести сообщение, если есть то вывести полученный массив.
daniil-640 вне форума Ответить с цитированием
Старый 30.05.2012, 15:32   #4
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию

Код:
program LAB10;
var i,j,k: integer;
    symb: char;
     b:boolean;   n:integer;
    ishodn, rezult: array[1..20] of string[70];
    s2:String;



Function GetCharOneCountFromText(StrValue:string):string;
  var
    ch:array[1..255] of integer;
    y,x:integer;
    l:integer;
    s2:string;
begin

 for X:=1 to 255 do ch[x]:=0;
 l:=length(StrValue);
  s2:='';

 for X:=1 to l do begin
 ch[ord(StrValue[x])]:=ch[ord(StrValue[x])]+1;
 if ch[ord(StrValue[x])]=1 then s2:=s2+StrValue[x];
 end;
 GetCharOneCountFromText:=s2;
end;


begin
 writeln('введите количество строк '); readln(n);
 writeln('введите массив:');
 for i:=1 to n do
  begin
   write(i:2,'.');
   readln(ishodn[i]);
  end;
 writeln;
 writeln('результат');
 writeln('---------------------------');
  for i:=1 to n do
  begin
    s2:=GetCharOneCountFromText(ishodn[i]);
     if s2<>ishodn[i] then writeln('Строка поменена ', s2)
     else writeln('Строка не поменена ', s2);

  end




end.
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype
denisbrain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование объемных фигур (Программу пишу в Pascal ABC) House M.D. Помощь студентам 0 25.02.2012 20:54
Программы в Pascal, среда pascal ABC. Лабораторные работы Одинокая Волчица Фриланс 8 10.02.2012 20:09
ABC Pascal. graphABC. доработать программу. TDub Помощь студентам 0 23.12.2011 18:44
Неудобство ABC Pascal и глюк Borland Pascal proser93 Помощь студентам 0 19.11.2011 19:01
дописать программу span80 Паскаль, Turbo Pascal, PascalABC.NET 0 20.05.2010 10:15