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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2012, 15:16   #1
Igger
Новичок
Джуниор
 
Регистрация: 13.12.2012
Сообщений: 2
По умолчанию Турбо паскаль (Массивы и строки)

Дан текст, напечатать те слова, которые отличны от последнего слова и удовлетворяют следующему свойству:
а) каждая буква входит в слово не менее 2х раз
б) в слове гласные буквы (a,e,i,o,u) чередуются с согласными

Не знаю как это написать.

Дана последовательность чисел. Если в результате замены отрицательных элементов последовательности их квадратами элементы будут образовывать неубывающую последовательность, то получить сумму элементов исходной последовательности, в противном случае их произведение.


Код:
program massiv;

const n =10;
var
 i:integer;
a:array [1..n] of real;
sum, pr:real;
flag:boolean;
begin


for i:=1 to n do
begin
write ('a[',i,']=');
readln (a[i]);
end;
sum:=0;
pr:=1;
while (i<=n) do
begin
if a[i]<0 then a[i]:= a[i]*a[i];
inc(i);
end;
flag:=true;
while (i<=n) do
begin
if a[i]<=a[i+1] then flag := false;
  break;
inc(i);
end;
if flag then while (i<=n) do
begin
sum:=sum+a[i];
inc(i);
end;
writeln ('summa =',sum)
else while (i<=n) do
begin
 pr:=pr*a[i];
 inc(i);
 end;
 writeln ('proizvedenie =',pr);
 readln;
 end
Правильно ли?

Вдруг кто-нибудь может написать это, заранее благодарю.



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.12.2012 в 15:30.
Igger вне форума Ответить с цитированием
Старый 13.12.2012, 16:33   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

есть целый ряд ошибок (как грубых, так и мелких).
но, в целом, как ни странно, впечатление положительное.
Направление решения Вы выбрали правильное.

Поэтому, вот мой вариант. Если что-то непонятно - спрашивайте.

Код:
program massiv;

const n = 10;

type MyArray = array[1..n] of real;

function GetElementWithCheck(MM: MyArray; i: integer): real;
begin
  if MM[i] < 0 then GetElementWithCheck := sqr(MM[i])
  else GetElementWithCheck := MM[i]
end;

var
  i: integer;
  a: myArray;
  sum, pr: real;
  flag: boolean;


begin
  {заполенение массива}
  for i := 1 to n do
  begin
    write('a[', i, ']=');
    readln(a[i]);
  end;

  {проверка, что элементы массива с учётом квадрата отрицательных образовывают неубывающую последовательность}
  flag := true; {флаг = true - значит, последовательность неубывающая!}
  i := 1;
  while (i < n) and flag do
  begin
    if GetElementWithCheck(a, i) > GetElementWithCheck(a, i + 1) then flag := false
    else
      inc(i);
  end;

  if flag then begin
    sum := 0;
    for i := 1 to n do Sum := Sum + a[i];
    WriteLn('neubyvaushay posledovatelnost. summa =', sum: 0: 5);
  end
  else begin
    pr := 1;
    for i := 1 to n do pr := pr * a[i];
    WriteLn('ubyvaushay posledovatelnost. proizvedenie =', pr: 0: 5);
  end;
  readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.01.2013, 17:22   #3
Igger
Новичок
Джуниор
 
Регистрация: 13.12.2012
Сообщений: 2
По умолчанию

Дан текст, напечатать те слова, которые отличны от последнего слова и удовлетворяют следующему свойству:
а) каждая буква входит в слово не менее 2х раз
б) в слове гласные буквы (a,e,i,o,u) чередуются с согласными

Пожалуйста, помогите с этим, если это возможно.
Igger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы,турбо паскаль. Эnnа Помощь студентам 2 16.05.2010 16:59
Турбо Паскаль : массивы ARAGON Помощь студентам 4 06.04.2010 11:31
Турбо Паскаль : массивы ARAGON Помощь студентам 5 05.04.2010 18:52