Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Сессия. Информатика и математика (https://forum.antichat.xyz/showthread.php?t=95481)

Isis 09.12.2008 01:23

Сессия. Информатика и математика
 
В этой теме Вам могут помогут с контрольными работами, зачетами и прочими вопросами по учебной дисциплине Информатика и(или) математика.

За каждый хороший ответ/решение Вам будет начислена репутация..

В теме могут задавать вопросы пользователи с сообщением или репутацией более 100!!!!
Ответы могут писать все!!


За темой строго буду следить я.

Модераторам: Пожалуйста не надо никуда переносить тему..В болталке она не уживется, умрет под троллями!

Isis 09.12.2008 01:29

ВОПРОС №1

Я начну, спасибо!

Контрольная работа, 2й семестр, выполнить до 2 мая.
Информатика и математика.
№1
В массивы вводятся элементы двух последовательностей Ai и Bj целых чисел, которые содержат 6 и 8 элементов соответственно. Ai - неубывающая и Bj - невозрастающая последовательности. Необходимо вывести на экран общий список значений элементов этих последовательностей по их убыванию. Предусмотреть проверку правильности ввода информации.
№2
Вести текст длиной до 254 символов в виде строки. Убрать из текста все знаки "+", непосредственно за которыми следует цифра. Вывести на экран новый текст и количество удаленных знаков.

--------------
Эти задания необходимо выполнить на любом языке программирования. :)
Я вообще не всёк что тут надо сделать....

Kaimi 09.12.2008 01:37

ВОПРОС №2

http://s60.radikal.ru/i168/0812/9c/90532570617b.png

P3L3NG 09.12.2008 01:52

ВОПРОС №3

Входные строки представляют собой последовательности слов, разделенных пробелами, запятыми, табуляциями или границами строк. В соответствии с вариантом задания составить Пас-каль-программу проверки характеристик введённых последовательностей слов и печати развёрну-того ответа. Тестирование проводить не менее чем на трёх строках вплоть до конца входного фай-ла. В качестве алфавита берется один из европейских алфавитов, соответствующих заданию (рус-ский, английский, ...).

Само задание: Есть ли слово, хотя бы одна согласная которого повторяется?

вот что набросал, всвязи с последними событиями не успеваю отладить :(

Код:

program laba8;
uses crt;
label konec;
Var
  i, n, k, x, od, symb:Integer;
  {n - kolvo probelov}
  st, st2:String;
  a, b:Char;
  f:text;
  c: set of Char;
  m: Boolean;
  Dlina:array[1..100] of integer;
begin
  i:=0;
  n:=0;
  k:=0;
  od:=0;
  symb:=0;
  c:=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','w','x','y','z',' ',','];
  write('BBedite put faila i ego imya - ');
  readln(st);
  assign(f, st);
  rewrite(f);
  write('Vvedite text: ');
  readln(st);
  st2:=st+' ';
  writeln(f, st2);
  reset(f);

{proverka korrektnosti 
  While not eof(f) Do
  begin
  read(f,a);
  m:=a in c;
  if m=False then writeln('v stroke est nekorrektnie simvoli');
  readkey;
  write('najmite anykey dlya zaversheniya programmi');
  GOTO konec;
  end;
  }
 
{kol-vo slov}
  While not eof(f) Do
    begin
    While not eoln(f) Do
      begin
        read(f,a);
        m:=a in c;
        If (a<>' ') and (a<>',') Then k:=k+1;
       
        If (a=' ') or (a=',') Then
          If k=0 Then
              begin
                n:=n+1;
                Dlina[n]:=k;
                k:=0;
              end;   
      end;
    readln(f);
  end;
writeln('dlini slov ',Dlina[1] ,'  ',Dlina[2] ,'  ',Dlina[3] ,'  ',Dlina[4] ,'  ');
writeln('probelov ',n);
readkey;
{proverka na odinakovost}
for k:=1 to n do
  for i:=1 to Dlina[n] do
      begin
      symb:= symb + Dlina[n];     
      reset(f);
        for x:=1 to symb do read(f);
          read(f,a);     
            for x:=1 to Dlina[n] do
              begin
              read(f,b);
              if a=b then inc(od);
              end;
      end;
         
 
  Append(f);
  writeln(f);
  writeln(f, 'Kolichestvo slov, gde est odinak bukvi ravno: ', od);
  close(f);
  konec:
end.


VDShark 09.12.2008 02:53

ОТВЕТ №1
1.1
берем 2-ю строку и идем сначала, берем 1-ю строку и идм с конца. Соответствено сравниваем, ищем наибольшее, ставим в строку. Если какая о строка кончилась - то дописываем все из оставшейся строки. Правильность проверяем соответственно что б в первом случае каждое последующее значение было >=, а во второй <=.
1.2
Следуем по строке сначала. Если находим + то смотрим след. символ. Если это цифра - организуем циклический сдвиг влево. увеличиваем счетчик (или разностью длин начальной и итоговой строк).

Вот впринципе и все премудрости

Pashkela 09.12.2008 03:16

Цитата:

Сообщение от Isis
ВОПРОС №1
№2
Вести текст длиной до 254 символов в виде строки.
Убрать из текста все знаки "+", непосредственно
за которыми следует цифра. Вывести на экран
новый текст и количество удаленных знаков.

PHP код:

<?
/*
Вести текст длиной до 254 символов в виде строки. Убрать из текста все знаки "+", непосредственно за которыми следует цифра. Вывести на экран новый текст и количество удаленных знаков.
*/

$str "+1+djfgdhfg+w4534+523+sdkh+901Q";
if (
strlen($str)<=254)
{
echo 
$str "\r\n";
preg_match_all('/\+([0-9])/s'$str$result);
$count count($result[0]);
echo 
"Кол-во найденных плюсов, за которыми идет цифра = " $count "\r\n";
for (
$i=0;$i<$count;$i++)
{
$t explode('+',$result[0][$i]);
$str str_replace($result[0][$i],$t[1],$str);
}
echo 
$str "\r\n";
}
else echo 
'Длина строки больше 254 символа. Незачот';
?>

Не судите строго, по образованию не программер:) Но вроде работает

Gifts 10.12.2008 02:38

Pashkela Если уж пользоваться регулярками, то
ОТВЕТ №1
PHP код:

$str "+1+djfgdhfg+w4534+523+sdkh+901Q";
if (
strlen($str)<=254)
{
echo 
$str "\r\n";
echo 
"Кол-во найденных плюсов, за которыми идет цифра = " preg_match_all('/\+([0-9])/s'$str$tmp) . "\r\n";
echo 
preg_replace('#\+(\d)#','\\1',$str) . "\r\n";
}
else echo 
'Длина строки больше 254 символа. Незачот'


Doom123 10.12.2008 09:59

:D

PHP код:


<?php
$str 
"+1+djfgdhfg+w4534+523+sdkh+901Q";

if(
strlen($str)>254) exit('Ошибочка');

$a  explode('+',$str);
$b '';
$i 0;
$j 1;

while(isset(
$a[$j]))
{
    if(
is_numeric(substr($a[$j],0,1))) 
    {    
        
$b .= $a[$j];
        
$i++;
    }
    else 
$b .= '+'.$a[$j];
    
$j++;
}

echo 
'Кол-Во:'.$i.' <br />Строка:'$b;
?>


InfernoNet 10.12.2008 21:37

Нужны конкретные ссылки на тему "Общие принципы использования избыточности при кодировании для канала" или просто "Кодирование канала".

Roston 03.02.2009 14:38

Нарисуйте плиз алгоритим (в виде блок-схемы) алгоритм нахождения сумы и умножения всех n(количество) елементов масива. Заранее благодарен! я рисовал но до меня до*обуются что не так.. хоче что бы кто то нарисовал кто реально шурупает! наперед спасибо!


Время: 05:35