Часовой пояс: UTC + 3 часа




Куратор(ы):   Lord_of_Darkness   



Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 985 • Страница 24 из 50<  1 ... 21  22  23  24  25  26  27 ... 50  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Убедительная просьба ко всем, кто выкладывает исходники:
1. Обязательно пользуйтесь тэгом code (иначе очень трудно читать)
2. Старайтесь делать отступы

Если вы хотите чтобы вам помогли в написании программы, внятно излагайте задание!

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


Возможно, что нужная вам программа уже написана, поэтому советую просмотреть список здесь и здесь

Отредактировано куратором: Lord_of_Darkness. Дата: 07.07.2006 19:36



Партнер
 

Гуру программирования помогите решить эти задачи или мне во вторник наступит секирь башка.Спасибо.
P.S:по возможности в решениях не использовать Label(метки)
Запись:
Пусть дан текст за которым следует !(воскл.знак).Замените прописные
русские буквы, встречающиеся в тексте строчны
ми.

Массив:
Пусть дана вещественная матрица размером n*m, в которой не все элементы
равны 0.Получите новую матрицу путем деления всех элементов данной матрицы
на ее наибольший по модулю элемент.

Множества:
Задана строка из цифр .Используя множества четных цифр сосчитать сколько их в этой строке.

Файлы:
Студентам была предложена анкета о том ,знание каких из прочитанных курсов могут потребоваться в будущей
работе(3-5 любых дисциплин пр.матнализ).Результаты анкетирования были занесены в файл.Напишите программу обработки
файла анкетирования.Перенесите файл записи с положительными оценками заданного предмета.


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
instinman писал(а):
Пусть дан текст за которым следует !(воскл.знак).Замените прописные русские буквы, встречающиеся в тексте строчны ми.


Код:
uses crt;
var
  i, d: integer;
  s: string;
begin
  clrscr;
  write('Input text: ');
  readln(s);
  i:=1;
  while (s[i]<>'!') do
  begin
    if (s[i] in ['А'..'Я']) then
    begin
       d:=ORD(s[i])-ORD('А');
       delete(s,i,1);
       insert(CHR(ORD('а')+d),s,i);
    end;
    inc(i);
  end;
  write(s);
  readln;
end.


instinman писал(а):
Пусть дана вещественная матрица размером n*m, в которой не все элементы равны 0.Получите новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент.


Код:
const
  n = 5;
  m = 4;

var
  A: array [1..n,1..m] of real;
  i, j : integer;
  max: real;

begin
  randomize;
  max:=0;
  writeln('Source matrix');
  for i:=1 to n do
  begin
    for j:=1 to m do
    begin
      A[i,j]:=(random(200)-100)/20;
      write(A[i,j]:4:2,' ');
      if abs(A[i,j]) > max then
        max := abs(A[i,j]);
    end;
    writeln;
  end;
  writeln;
  writeln('Max = ',max:4:2);
  writeln('New matrix');

  for i:=1 to n do
  begin
    for j:=1 to m do
    begin
      A[i,j]:=A[i,j]/max;
      write(A[i,j]:4:2,' ');
    end;
    writeln;
  end;
  readln;

end.


instinman писал(а):
Множества: Задана строка из цифр .Используя множества четных цифр сосчитать сколько их в этой строке.


Код:
type
  TInt = 1..9;

var
  str: string;
  evens: set of TInt;
  i, cntr: integer;

begin
  for i:=2 to 8 do
    if (i mod 2) = 0 then
      evens := evens + [i];

  write('Yuor string: ');
  readln(str);

  cntr:=0;
  for i:=1 to Length(str) do
    if (ORD(str[i])-48) in evens then
      inc(cntr);

  write('Count of even numbers is ',cntr);

  readln;

end.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

РЕСПЕКТ и просто огромное человеческое спасибо!!


 

Member
Статус: Не в сети
Регистрация: 13.01.2006
Откуда: Rostov-On-Don
Огромная просьба помочь решить, дело в том что их куча навалилась и яне успеваю все решить:
Язык: Паскаль.
Есть конвеер, работающий в режиме "очередь", на который помещаются детали детали. Так же есть второй конвеер для бракованных деталей, работающий в режиме "очередь". Написать программу, которая будет моделировать:
1. Заполнение конвеера заданным кол-вом деталей, причем каждая деталь имеет порядковый номер и вес.
2. Детали, имеющие вес меньше заданного удаляются из очереди, а остальные по порядку помещаются на второй конвеер. После того как детали закончаться на первом конвеере,они со второго перемещаются обратно на первый. В ходе выполнения данной операции, выводить на экран содержимое второго, а затем и первого конвеера.
Для реализации вывода содержимого конвеера, выводить на экран порядковый номер детали и ее вес,когда происходит добавление данных в очередь. Перед выходом из программы, очистить динамическую память.

_________________
It`s Better To Reign In Hell Than Serve In Heaven.


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
viger
Код:
uses crt;

type
   TData = record
           number: word;
           weight: real;
          end;
   PComp=^Comp;
   Comp=record
         D : TData;
         pNext, PPrevious :PComp
        end;
var
   p1Begin, p2Begin : PComp;
   DetailCount, i: word;
   ScreeningWeight: real;
   Data: TData;

procedure Add(Var beg : PComp; Data : TData);
var
  tmp: PComp;
begin
   New(tmp);
   tmp^.D:=Data;
   if beg = nil then
   begin
     tmp^.pNext := tmp;
     tmp^.PPrevious := tmp;
     beg:=tmp;
   end
   else
   begin
     tmp^.pNext := beg;
     tmp^.PPrevious := beg^.PPrevious;
     beg^.PPrevious^.pNext:=tmp;
     beg^.PPrevious:=tmp;
   end;
end;

procedure Extract(Var beg : PComp; var Data : TData);
var
  tmp: PComp;
begin
  Data:=beg^.D;
  if beg^.PPrevious = beg then
  begin
    dispose(beg);
    beg:=nil;
  end
  else
  begin
    tmp:=beg;
    beg:=beg^.pNext;
    beg^.PPrevious := tmp^.PPrevious;
    dispose(tmp);
  end;
end;

begin
  clrscr;
  write('Input detail count: ');
  readln(DetailCount);
  write('Input screening weight: ');
  readln(ScreeningWeight);
  randomize;
  i:=1;

  // fill main line
  writeln('The main line (n - number, w - weight):');
  while i<=DetailCount do
  begin
    Data.number:=i;
    Data.weight:=random(100)/20;
    Add(p1Begin,Data);
    writeln('n ',Data.number:2,' w ',Data.weight:3:1,'; ');
    inc(i);
  end;

  // fill ancillary line & output results
  writeln('The ancillary line (n - number, w - weight):');
  while p1Begin<>nil do
  begin
    Extract(p1Begin,Data);
    if Data.weight>=ScreeningWeight then
    begin
       Add(p2Begin,Data);
       writeln('n ',Data.number:2,' w ',Data.weight:3:1,'; ');
    end;
  end;

  // clear ancillary line
  while p2Begin<>nil do
  begin
    Extract(p2Begin,Data);
  end;
  readln;
end.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 08.12.2005
Откуда: Питер!
Цитата:
3) Составить программу для ввода квадратной матрицы A (n x n). Вычислить и вывести на экран монитора величины S1, S2 суммы элементов(следы), соответственно, двух главных диагоналей матрицы A.

Лорд, тут всё-таки главной и побочной! В книге оказалась опечатка :)

Чего оффтопишь? Я знаю, что двух главных диагоналей в одной матрице быть не может, но это математика и к паскалю особого отношения не имеет. Или есть проблемы с выполнением задания?
Lord_of_Darkness


Угу, есть проблемы с выполнением :beer::oops::oops:

ну чтож такое, теперь оверквотингом злоупотребляешь. Удалил лишнее.
Отредактировано куратором: Lord_of_Darkness. Дата: 14.12.2006 19:20


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
MW!
Код:
var
  A: array [1..50,1..50] of real;
  i, j, n : integer;
  s1, s2: real;
begin
  write('n = ');
  readln(n);
  writeln('A:');
  s1:=0;
  s2:=0;
  randomize;
  for i:=1 to n do
  begin
    for j:=1 to n do
    begin
      A[i,j]:=(random(100)-50)/20;
      if i=j then
        s1:=s1+A[i,j]
      else if i=(n-j+1)then
        s2:=s2+A[i,j];
      write(A[i,j]:4:2,' ');
    end;
    writeln;
  end;

  writeln('s1 = ',s1:5:2);
  writeln('s2 = ',s2:5:2);
  readln;
end.

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


Последний раз редактировалось Lord_of_Darkness 15.12.2006 11:46, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 08.12.2005
Откуда: Питер!
Хелп! :beer:
Дан целый массив из 4 строк и 4 столбцов. Упорядочить массив по возрастанию произведения элементов столбцов


 

Судари, помогите пожалуйста с задачками, у самого не получается... Огромное спасибо за помощь!
1. Даны взаимно простые натуральные числа p и q (p<q). Найти периодическую и непериодическую части (две последовательности однозначных неотрицательных чисел) десятичной дроби, равной p/q.
2. Смысл такой: вводишь дату(день, месяц, год), получаешь какой это день недели.
3. Никак не могу найти ошибку в коде:( Может у вас получится...
Условие задачи

Код:
Program Ex14;
uses crt;

var
  i : integer;
  x : real;

function f(x: real; n: integer): real;
var
  k: integer;
  s: real;
begin
  s:=0;
  for k:=1 to n do
   s:=s+sqrt(exp(-k*x)+exp((abs(k-1))*ln(x)))/cos(k*x)+sin(k*x);
  f:=s+Ln(abs(n*x-1));
end;

begin
  clrscr;
  writeln('┌───────┬───────┬───────────┐');
  writeln('│   n   │   x   │     f     │');
  writeln('├───────┼───────┼───────────┤');
  for i:=10 to 15 do
  begin
    x:=0.6;
    repeat
      writeln('│  ',  i,'   │  ',x:3:2,' │',f(x,i):10:5,' │');
      if (x=1.1) and (i=15) then writeln('└───────┴───────┴───────────┘')
      else
      writeln('├───────┼───────┼───────────┤');
      x:=x+0.25;
    until x>1.1;
  end;
  readln;
end.


 

Member
Статус: Не в сети
Регистрация: 05.12.2005
Откуда: Rostov-on-Don
Подкиньте плиз программу поразрядной сортировки на Паскале. Или ссылку на неё, я не нашёл ((((
Добавлено спустя 7 минут, 51 секунду
Haborym Вот вторая твоя задачка :)
Код:
program Den_of_Day;
uses Crt;
 var
   IsCorrectDate:boolean;
   d,m,y:integer;
Procedure InputDate(var d,m,y:integer; var correctly:boolean);
 begin
   Writeln('Введите дату в формате ДД ММ ГГГГ');
   readln(d,m,y);
   correctly:= (d>=1) and (d<=31) and (m>=1) and (m<=12) and (y>1581) and (y<4902)
 end;
Procedure WriteDay(d,m,y:integer);
const
   Day:array [0..6] of string [11] = ('Воскресение','Понедельник','Вторник','Среда' ,'Четверг','Пятница','Суббота');
var
   c,w:integer;
begin
  if m<3 then
      begin
        m:= m + 10;
        y:= y - 1
      end
  else
   m:= m - 2;
   c:= y div 100;
   y:= y mod 100;
   w:=abs(trunc(2.6*m-0.2)+d+y div 4+y+c div 4-2*c) mod 7;
   writeln(Day[w])
end;
begin
textbackground(8);
clrscr;
textcolor(4);
repeat
   InputDate(d,m,y,IsCorrectDate);
   if IscorrectDate then
       WriteDay(d,m,y)
until not IsCorrectDate
end.


Поправил тэги. Lord_of_Darkness
Отредактировано куратором: Lord_of_Darkness. Дата: 21.12.2006 18:44

_________________
Intel Inside ;-)


 

Foxtrot У меня точно такое же решение, с такими же формулами:))) Так проблемма в том, что она бывает ошибается... И притом как то странно, никак не удавалось вычислить закономерность(но точно было ясно что из-за високосных... но в некоторые високосные она показывала правильно, в некоторые нет) Я просто слышал от куда-то, что есть ещё её второй вариант решения...
Проверь: 01 01 2004 - должен быть четверг, показывает среду...


 

Junior
Статус: Не в сети
Регистрация: 01.12.2006
Откуда: Запорожье
Ребят, помогите, вроде задачка простая, а чего то не получается...
Мне нужно установить курсор в определенные координаты, тоесть я Спрашиваю "Укажите координаты, в которые необходимо установить курсор" Затем мы вводим 2 координаты Х,У. И собственно все. Заранее спасибо за помошь.


 

Member
Статус: Не в сети
Регистрация: 05.12.2005
Откуда: Rostov-on-Don
San_Tehnik Что-то типа этого. Звёздочка указывает тот координат, куда был перемещён курсор. Там уже смотри в зависимости от задания.
Код:
Program Koordinaty;
Uses Crt;
var x,y:byte;
begin
clrscr;
writeln('Vvedite koordinaty');
readln(x,y);
GotoXY(x-1,y);
write('*');
readkey;
end.

Haborym Прав. С високосными годами как-то не очень дружит. Но второго решения у меня к сожалению нет :(

_________________
Intel Inside ;-)


 

Junior
Статус: Не в сети
Регистрация: 01.12.2006
Откуда: Запорожье
Foxtrot писал(а):
San_Tehnik Что-то типа этого. Звёздочка указывает тот координат, куда был перемещён курсор. Там уже смотри в зависимости от задания.

Foxtrot Большее тебе человеческое спасибо, ты мне очень помог.


 

Господа помогите пожалуйста с моими задачками... Мне в пятницу будет геноцид если я их не сдам((( От деканата и так уже получил строгий выговор и если не исправлюсь, не покажу своё усердие в учёбе, будет: Прощай Универ, Здравствуй Армия:)))
А значит, страна лишится ещё одного будущего программиста:)))


 

Member
Статус: Не в сети
Регистрация: 05.12.2005
Откуда: Rostov-on-Don
San_Tehnik писал(а):
Большее тебе человеческое спасибо, ты мне очень помог

Рад помочь :beer:
Haborym А что в 3-й не так? У меня всё работает?
Что касается первой - то саму дробную часть выделить могу, а вот как подразумевается найти периодическую и непериодическую части... А если периодичность наблюдается каждые 1000000 символов? :D Вон даже в числе Пи до сих пор ищут периодичность.
Добавлено спустя 36 секунд
Мне помочь никто не может? :oops: :tooth:

_________________
Intel Inside ;-)


 

Foxtrot писал(а):
А что в 3-й не так? У меня всё работает?

Ответ с маткадом не совпадает:((( Думал на паскале формулу не правильно записал, но раз 20 проверял, ошибку так найти и не могу... По этому и прошу помощь у гуру, чтоб меня тыкнули носом в ошибку.

Foxtrot писал(а):
Что касается первой - то саму дробную часть выделить могу, а вот как подразумевается найти периодическую и непериодическую части... А если периодичность наблюдается каждые 1000000 символов? :D Вон даже в числе Пи до сих пор ищут периодичность.


Ну я думаю преподу хватит определение переодичности вида: 123123123... В этой задачке надо через div и mod шаманить? Был бы рад примеру поиска переодичности или ссылкай где про это можно почитать...


 

Member
Статус: Не в сети
Регистрация: 05.12.2005
Откуда: Rostov-on-Don
Haborym Вот нашаманил на коленке. В строку дробную часть думаю перевести труда не составит. Вот мой алгоритм поиска повторения :tooth:
Код:
Program Povtor;
Uses Crt;
var s,t:string; i,j:integer; b:boolean;
begin
clrscr;
readln(s);
i:=3; b:=true;
while (i<length(s)) and (b) do
     if (s[1]=s[i]) and (s[2]=s[i+1]) then b:=false
     else inc(i);
if i<(length(s)-1) then
begin
     j:=1; t:='';
     while j<i do
     begin
          t:=t+s[j];
          inc(j);
     end;
     writeln('Povorenie - '+t);
end
else writeln('Povtoreniy net');
readkey;
end.

Добавлено спустя 56 секунд
Насчёт первой сказать ничего не могу.. если реализация формулы верна - значит так оно и есть..

_________________
Intel Inside ;-)


 

Foxtrot Большое спасибо:)))) Будет мне чем занятся ночью:)


 

Member
Статус: Не в сети
Регистрация: 24.07.2006
-----


Последний раз редактировалось E1dar 12.03.2010 3:08, всего редактировалось 1 раз.

Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 985 • Страница 24 из 50<  1 ... 21  22  23  24  25  26  27 ... 50  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan