Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите написать программу на Pascal (http://www.tehnari.ru/f41/t86781/)

Agressya 25.03.2013 16:54

Помогите написать программу на Pascal
 
Работа со строковыми данными! Нельзя использовать функции и процедуры!
Задача №1. Из заданного текста или предложения выбрать и напечатать только те символы, которые встречаются в нем один раз (в том порядке в котором они встречаются в тексте или предложении.
Задача №2. Составить программу, которая по названию числа меньше 1000, написанную на русском языке, формирует его цифровую запись.

Выручите пожалуйста!(((Очень срочно надо, а я сама не бум-бум(((

Vladimir_S 25.03.2013 17:10

Цитата:

Сообщение от Agressya (Сообщение 885974)
Задача №1. Из заданного текста или предложения выбрать и напечатать только те символы, которые встречаются в нем один раз (в том порядке в котором они встречаются в тексте или предложении.

Код:

Var
 S:String;
 W:Set of Char;
 C:Char;
 i,j:Byte;
Begin
 Writeln('Enter the string:');
 Readln(S);
 W:=[];
 For i:=1 to Length(S)-1 do
  begin
  C:=S[i];
  for j:=i+1 to Length(S) do
    if (S[j]=C) and Not(S[j] in W) then W:=W+[S[j]];
  end;
 For i:=1 to Length(S) do
  if Not(S[i] in W) then Write(S[i]+' ');
 Readln
End.

А вторую тоже срочно и тоже нужно? Черт, терпеть не могу с кириллицей возиться... Но в любом случае - ближе к вечеру.

Vladimir_S 25.03.2013 20:46

Цитата:

Сообщение от Agressya (Сообщение 885974)
Задача №2. Составить программу, которая по названию числа меньше 1000, написанную на русском языке, формирует его цифровую запись.

Код:

Var
 S:String;
 W:Array[1..3] of String;
 i,Nw:Byte;
 b:boolean;
Begin
 Writeln('Введите числительное прописью; слова разделять ОДНИМ пробелом:');
 Readln(S);
 Nw:=1;
 For i:=1 to 3 do W[i]:='';
 i:=0;
 Repeat
  Inc(i);
  if S[i]<>' ' then
  W[Nw]:=W[Nw]+S[i]
  else
  Inc(Nw);
 Until i=Length(S);
 If Nw=1 then
  begin
  if W[1]=        'ноль' then write(  '0') else
  if W[1]=        'один' then write(  '1') else
  if W[1]=        'два' then write(  '2') else
  if W[1]=        'три' then write(  '3') else
  if W[1]=      'четыре' then write(  '4') else
  if W[1]=        'пять' then write(  '5') else
  if W[1]=      'шесть' then write(  '6') else
  if W[1]=        'семь' then write(  '7') else
  if W[1]=      'восемь' then write(  '8') else
  if W[1]=      'девять' then write(  '9') else
  if W[1]=      'десять' then write( '10') else
  if W[1]= 'одиннадцать' then write( '11') else
  if W[1]=  'двенадцать' then write( '12') else
  if W[1]=  'тринадцать' then write( '13') else
  if W[1]='четырнадцать' then write( '14') else
  if W[1]=  'пятнадцать' then write( '15') else
  if W[1]= 'шестнадцать' then write( '16') else
  if W[1]=  'семнадцать' then write( '17') else
  if W[1]='восемнадцать' then write( '18') else
  if W[1]='девятнадцать' then write( '19') else
  if W[1]=    'двадцать' then write( '20') else
  if W[1]=    'тридцать' then write( '30') else
  if W[1]=      'сорок' then write( '40') else
  if W[1]=  'пятьдесят' then write( '50') else
  if W[1]=  'шестьдесят' then write( '60') else
  if W[1]=  'семьдесят' then write( '70') else
  if W[1]= 'восемьдесят' then write( '80') else
  if W[1]=  'девяносто' then write( '90') else
  if W[1]=        'сто' then write('100') else
  if W[1]=      'двести' then write('200') else
  if W[1]=      'триста' then write('300') else
  if W[1]=  'четыреста' then write('400') else
  if W[1]=    'пятьсот' then write('500') else
  if W[1]=    'шестьсот' then write('600') else
  if W[1]=    'семьсот' then write('700') else
  if W[1]=  'восемьсот' then write('800') else
  if W[1]=  'девятьсот' then write('900');
  end
 else
 If Nw=2 then
  begin
  b:=false;
  if W[1]=        'сто' then begin b:= true; write('1'); end else
  if W[1]=      'двести' then begin b:= true; write('2'); end else
  if W[1]=      'триста' then begin b:= true; write('3'); end else
  if W[1]=  'четыреста' then begin b:= true; write('4'); end else
  if W[1]=    'пятьсот' then begin b:= true; write('5'); end else
  if W[1]=    'шестьсот' then begin b:= true; write('6'); end else
  if W[1]=    'семьсот' then begin b:= true; write('7'); end else
  if W[1]=  'восемьсот' then begin b:= true; write('8'); end else
  if W[1]=  'девятьсот' then begin b:= true; write('9'); end else
  if W[1]=    'двадцать' then write( '2') else
  if W[1]=    'тридцать' then write( '3') else
  if W[1]=      'сорок' then write( '4') else
  if W[1]=  'пятьдесят' then write( '5') else
  if W[1]=  'шестьдесят' then write( '6') else
  if W[1]=  'семьдесят' then write( '7') else
  if W[1]= 'восемьдесят' then write( '8') else
  if W[1]=  'девяносто' then write( '9');
  if W[2]=      'десять' then write('10') else
  if W[2]= 'одиннадцать' then write('11') else
  if W[2]=  'двенадцать' then write('12') else
  if W[2]=  'тринадцать' then write('13') else
  if W[2]='четырнадцать' then write('14') else
  if W[2]=  'пятнадцать' then write('15') else
  if W[2]= 'шестнадцать' then write('16') else
  if W[2]=  'семнадцать' then write('17') else
  if W[2]='восемнадцать' then write('18') else
  if W[2]='девятнадцать' then write('19') else
  if W[2]=    'двадцать' then write('20') else
  if W[2]=    'тридцать' then write('30') else
  if W[2]=      'сорок' then write('40') else
  if W[2]=  'пятьдесят' then write('50') else
  if W[2]=  'шестьдесят' then write('60') else
  if W[2]=  'семьдесят' then write('70') else
  if W[2]= 'восемьдесят' then write('80') else
  if W[2]=  'девяносто' then write('90') else
  if W[2]=  'один'  then begin if b then write('01') else write('1') end else
  if W[2]=  'два'  then begin if b then write('02') else write('2') end else
  if W[2]=  'три'  then begin if b then write('03') else write('3') end else
  if W[2]='четыре'  then begin if b then write('04') else write('4') end else
  if W[2]=  'пять'  then begin if b then write('05') else write('5') end else
  if W[2]= 'шесть'  then begin if b then write('06') else write('6') end else
  if W[2]=  'семь'  then begin if b then write('07') else write('7') end else
  if W[2]='восемь'  then begin if b then write('08') else write('8') end else
  if W[2]='девять'  then begin if b then write('09') else write('9') end;
  end
 else
  begin
  if W[1]=        'сто' then write('1') else
  if W[1]=      'двести' then write('2') else
  if W[1]=      'триста' then write('3') else
  if W[1]=  'четыреста' then write('4') else
  if W[1]=    'пятьсот' then write('5') else
  if W[1]=    'шестьсот' then write('6') else
  if W[1]=    'семьсот' then write('7') else
  if W[1]=  'восемьсот' then write('8') else
  if W[1]=  'девятьсот' then write('9');
  if W[2]=    'двадцать' then write('2') else
  if W[2]=    'тридцать' then write('3') else
  if W[2]=      'сорок' then write('4') else
  if W[2]=  'пятьдесят' then write('5') else
  if W[2]=  'шестьдесят' then write('6') else
  if W[2]=  'семьдесят' then write('7') else
  if W[2]= 'восемьдесят' then write('8') else
  if W[2]=  'девяносто' then write('9');
  if W[3]=        'один' then write('1') else
  if W[3]=        'два' then write('2') else
  if W[3]=        'три' then write('3') else
  if W[3]=      'четыре' then write('4') else
  if W[3]=        'пять' then write('5') else
  if W[3]=      'шесть' then write('6') else
  if W[3]=        'семь' then write('7') else
  if W[3]=      'восемь' then write('8') else
  if W[3]=      'девять' then write('9');
  end;
 Readln
End.


Agressya 25.03.2013 20:52

:tehnari_ru_288: Спасибо огромное))))Очень выручил))) tcelobitnaja


Часовой пояс GMT +4, время: 10:43.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.