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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.03.2008, 12:40   #1
Miledi
 
Регистрация: 16.03.2008
Сообщений: 4
По умолчанию Символьные данные на Паскале...

Необходимо написать программки на Паскале, тема: символьные данные: описание, обработка.
Вот задания:
1.Задана цепочка символов, в которой два слова разделены
знаком ":". Поменять их местами.
2. Дана цепочка символов вида "число1+число2*число3". Вычис¬лить числовое значение выражения и напечатать.
3. Задан массив из восьми строк. В строке фамилии и инициа¬лы. Отсортировать список по алфавиту.
Miledi вне форума
Старый 16.03.2008, 17:55   #2
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Цитата:
1.Задана цепочка символов, в которой два слова разделены знаком ":". Поменять их местами.
Код:
Var s,s1,s2,Result:string; i,j,countSTR:integer;
begin
S:='ssssssssss:eeeeeeeeeee';// твои слова
countSTR:=strlen(pchar(s))-1;// опредеоили длину строки
for i:=0 to countSTR do 
 begin
  if s[i] <> ':' then
   s1:=s1+s[i]
  else
   for j:=i+1 to countSTR do
    s2:=s2+s[i];
 Result:=s2+':'+s1;
 end;
end;
Ну... что-то в этом роде, код написал от руки, спрашивай если что.

Цитата:
2. Дана цепочка символов вида "число1+число2*число3". Вычислить числовое значение выражения и напечатать.
Это же проще некуда.
Код:
var N1,N2,N3, Result:integer;
begin
N1:=3;
N2:=7;
N3:=10;

Result:=N1+N2*N3;
Writeln(Result);
end;
Если я ни что не напутал

P.S. Хотя может и напутал...
Возможно так.
Код:
var N1,N2,N3,i, Result:integer; S,s1,s2,s3:string;
begin
S:='3+7*10';

N1:=strtoint(copy(s,1,1));
N2:=strtoint(copy(s,3,1));
N3:=strtoint(copy(s,5,2));

{это сработает только если Вы точно знаете на какой позиции 
расположены числа, если Вы вводите их с клавы, 
то конвертируйте сразу в числовой тип или принимайне в числовом формате.}

Result:=N1+N2*N3;
Writeln(Result);
end;

Цитата:
3. Задан массив из восьми строк. В строке фамилии и инициа¬лы. Отсортировать список по алфавиту.
Это почитай тут.
http://avance.narod.ru/q_sort.htm
Всё гениальное - просто!

Последний раз редактировалось Air; 16.03.2008 в 17:58.
Air вне форума
Старый 16.03.2008, 22:39   #3
Artificial
Пользователь
 
Аватар для Artificial
 
Регистрация: 03.11.2007
Сообщений: 91
По умолчанию

Отсортируй методом пузырька, проще не куда.
Код:
procedure SortPuz (var Arr : array of Integer; n : Integer);
var
  i : Integer; 
  Temp : Integer; 
  Flag : Boolean; 
begin
  repeat
    Flag := False;
    for i := 0 to n - 1 do
      if Arr [i] > Arr [i + 1] then begin 
        Temp := Arr [i]; 
        Arr [i] := Arr [i + 1];
        Arr [i + 1] := Temp; 
        Flag := True; 
      end; 
  until Flag = False; 
end;
Он будет сортировать по номеру в таблице ASCII.
Я когда-то делал так)
Artificial вне форума
Старый 04.05.2008, 22:40   #4
1234
Заблокирован
 
Регистрация: 09.11.2007
Сообщений: 97
Вопрос Нахождение слов-перевыртышей

Подскажите, пожалуйста, как реализовать вот такую задачу:

В файле исходных данных задается символьная строка
Написать Паскаль-программу, включающуй 2 процедуры, выполняющие следующие действия:

1. Нахождение слов-палиндромов (перевертышей), одинаково-читающихся как слева направо, так и справа налево
2. Удаление из строки слов, не являющихся палиндромами.

-Очень интересует то, как именно проводить поиск слов-перевертышей
1234 вне форума
Старый 04.05.2008, 22:45   #5
-=<[Evklidd]>=-
Форумчанин Подтвердите свой е-майл
 
Аватар для -=<[Evklidd]>=-
 
Регистрация: 22.01.2008
Сообщений: 161
По умолчанию

Вот когда-то прогу писал, посмотри, адаптируй для своего случая, главная что есть функция по определению слов-палиндромов
Код:
program palindrom;
var
 s: string;
 b: boolean;
 a,c: integer;
function pal(s: string; Var n, i: integer): boolean;
var
 x: integer;
begin
 if s[n] = s[length(s)-n+1] then
  begin
   if i = ((length(s) div 2) + (length(s) mod 2)) then
    pal:= true
   else
    begin
     inc(i);
     x:= n+1;
     pal:= pal(s,x,i);
   end;
  end
   else
    pal:= false;
end;
begin
write('Input string: ');
readln(s);
writeln('Is string palindrom?');
a:= 1;
c:= 1;
b:= pal(s,a,c);
if b then
 writeln('Yes')
else writeln('No');
readln;
end.
-=<[Evklidd]>=- вне форума
Старый 04.05.2008, 22:51   #6
1234
Заблокирован
 
Регистрация: 09.11.2007
Сообщений: 97
По умолчанию

Спасибо!, попробую..
1234 вне форума
Старый 05.05.2008, 11:02   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

1234, нечего в чужую тему вставлять свои просьбы.
Тема закрыта
I'm learning to live...
Stilet вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Символьные строки в "Си" Starmid Помощь студентам 1 30.05.2008 09:13
Помогите с прогой. Тема: символьные массивы Алексей Д. Помощь студентам 6 02.04.2008 22:10
Массивы символов (строки) символьные файлы. anarchist Помощь студентам 2 24.12.2007 09:16
Паскаль. задача на символьные массивы и строки zaraza21 Помощь студентам 1 03.11.2007 19:33