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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2009, 22:13   #1
КуДрЯ
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 14
Восклицание Записи(Pascal).Помогите плиз!!!

Сформулировать миссив из 10 записей следуюшей структуры.
- строка из 50 случайных символов.
- два вещественых поля X,Y(заполнить случайными символами)
Рассортировать массив в порядке убывания поля X.Для каждой компоненты если количество латинских символов превышает в строке количество русских символов,удвоить значения поля Y.Вывести исходный и преобразованый массивы.
КуДрЯ вне форума Ответить с цитированием
Старый 09.02.2009, 22:58   #2
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

Код:
program xd;
const
 n = 3;
 m = 50;
type
 data = record
         st : string[m];
         x,y : real
        end;
 z = array [1..n] of data;
var
 zap : z;
 i : 1..n;
 k : 1..m;

 procedure sort ( var zapis : z; const n1 : word );
 var
  j,max : word;
  buf1 : string[m];
  buf2 : real;
 begin
   for j:=1 to n1-1 do
   begin
     max:=j;
     for k:=j+1 to n1 do if zapis[k].x>zapis[max].x then max:=k;

     buf1:=zapis[max].st;
     zapis[max].st:=zapis[j].st;
     zapis[j].st:=buf1;

     buf2:=zapis[max].x;
     zapis[max].x:=zapis[j].x;
     zapis[j].x:=buf2;

     buf2:=zapis[max].y;
     zapis[max].y:=zapis[j].y;
     zapis[j].y:=buf2
   end
 end;

 procedure check ( var zz1 : data );
 var
  g1,g2,c : 0..m;
 begin
  g1:=0;
  g2:=0;
  with zz1 do
   for c:=1 to m do
    if zz1.st[c] in ['A'..'Z','a'..'z'] then inc(g1);
    if zz1.st[c] in ['Ђ'..'џ','*'..'Ї','а'..'п'] then inc(g2);

  if g1>g2 then zz1.y:=zz1.y*2
 end;
begin

  randomize;
  for i:=1 to n do
   with zap[i] do
   begin
     st:='';
     for k:=1 to m do st:=st+chr(random(256));
     x:=random(255)/60*13+random(12)-random(51);
     y:=(random(45)/17+random(8))/(random(51)+1)+random(7)
   end;

  writeln ('Isxodniy massiv: ');
  for i:=1 to n do
   with zap[i] do writeln (i,' zap: ',st,' ',x:0:2,' ',y:0:2);

  sort (zap,n);
  for i:=1 to n do check(zap[i]);

  writeln ('Noviy massiv: ');
  for i:=1 to n do
   with zap[i] do writeln (i,' zap: ',st,' ',x:0:2,' ',y:0:2);

  readln
end.
с символами полная чушь получается
capta1n вне форума Ответить с цитированием
Старый 09.02.2009, 23:01   #3
КуДрЯ
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 14
По умолчанию

Спасибо!,а исходный файл какойто есть.
КуДрЯ вне форума Ответить с цитированием
Старый 09.02.2009, 23:02   #4
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

тебе исходником чтоли кинуть? или саму программу?
capta1n вне форума Ответить с цитированием
Старый 09.02.2009, 23:02   #5
КуДрЯ
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 14
По умолчанию

И есле вас не затруднит,можно прокоментировать задачу.Очень надо.
КуДрЯ вне форума Ответить с цитированием
Старый 09.02.2009, 23:03   #6
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

я сейчас уже ухожу
capta1n вне форума Ответить с цитированием
Старый 09.02.2009, 23:05   #7
КуДрЯ
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 14
По умолчанию

Да и исходник нужен.Заранее спасибо.
КуДрЯ вне форума Ответить с цитированием
Старый 09.02.2009, 23:12   #8
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

так я чего-то не пойму - вы не можете скопировать код?

Последний раз редактировалось capta1n; 10.02.2009 в 10:33.
capta1n вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с задачей по Turbo Pascal плиз Tiburon Помощь студентам 2 22.11.2008 20:52
Pascal.Записи и файл!!! W_P Помощь студентам 2 20.05.2008 22:01
задача на записи Pascal kitty Помощь студентам 9 18.04.2008 18:14
Помогите, пожалуйста, решить задачу на Turbo Pascal. Тема: записи. Morrigan13 Помощь студентам 1 28.03.2008 21:09