Студентам с лабораторными сюда (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 20 Jun 2007.

Thread Status:
Not open for further replies.
  1. Unregistered

    Unregistered Member

    Joined:
    15 Jan 2009
    Messages:
    24
    Likes Received:
    10
    Reputations:
    1
    http://forum.antichat.ru/showpost.php?p=1146649&postcount=1130
    I'm sorry. Но актуально а своих наработок нету. Спасибо.
     
  2. NigHT_0WL

    NigHT_0WL Member

    Joined:
    28 Jan 2009
    Messages:
    32
    Likes Received:
    7
    Reputations:
    0
    да.Сначала немного теории. Во первых тебе нужно определить точки пересечения этих двух функций(это когда выполняеться условие -ln(x) = R-x). Находим две точки А и В.
    Далее площадь можно найти при помощи определенных интегралов путем вычитания из интеграла функции (R-x) интеграл функции ln(x)на промежутке от А до В(тут следует помнить что интеграл определенный на участке A>>B находиться как разность F(B)-F(A)). вот и все реомендую вычислять интегралы с помощью форцулы Симпсона. подробнее можешь посмотреть сдесь: http://dic.academic.ru/dic.nsf/bse/132406/%D0%A1%D0%B8%D0%BC%D0%BF%D1%81%D0%BE%D0%BD%D0%B0.

    Писать прогу не буду. наиши сам и ксли не получиться выложи сдесь свой код будем искать ощибки вместе.
     
  3. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    А какая тут проблема ?
    Вычислить выражение не можешь? Это же в одну строчку вычисляется.
     
  4. lll6

    lll6 Elder - Старейшина

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Code:
    program primer;
      var n:integer;
          y,x:real;
    begin
      readln (y,n);
      x:=random(n-1)+random; {random - для получения случайного вещественного числа, у меня работает}
      writeln ('Ответ: ',frac((cos(exp(ln(y)*x))+x-y/3)/(2*sqr(x)-y+1)));
    end.
     
    #1124 lll6, 3 Mar 2009
    Last edited: 3 Mar 2009
  5. MihakeR

    MihakeR New Member

    Joined:
    3 Feb 2008
    Messages:
    20
    Likes Received:
    3
    Reputations:
    0
    Составить программу вычисления двойного произведения:
    [​IMG]
     
  6. Stingers

    Stingers Elder - Старейшина

    Joined:
    28 Aug 2007
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    Даны массивы A[5][5], B[5][5]. Для каждого массива найти максимальный элемент. Заменить все положительные элементы, расположенные на обеих диагоналях на найденный максимальный элемент.
    В программе предусмотреть функции ввода массив, вывода исходного массива и преобразованного, а также функцию преобразования массива.

    Завтра крайний срок сдачи данного зачетного задания!! буду признателен!
     
  7. NigHT_0WL

    NigHT_0WL Member

    Joined:
    28 Jan 2009
    Messages:
    32
    Likes Received:
    7
    Reputations:
    0
    А что ты до этого делал?

    На каком языке нужно написать?
    И вобще написать такую элементарщину и самому можно. Алгоритм такой:
    1. функция ввода массивов(тупой ввод в цикле For ... to...do)
    2. функция вывода массивов то же самое.
    3. функция определения максимального элемента(также цикл, внутри которого определяеться максимальный элемент или при помощи рекурсии).
    4. функция замены массивов.
    5. всё остальное внутри прораммы.
     
  8. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Code:
    int n=3;
    int m=4;
    
    int result=1;
    
    for(int j=1;j<=m;j++)
    for(int i=1;i<=n;i++)
        result *= 2*i + j;
    
    элементарщина :mad:
     
  9. Sinay

    Sinay Elder - Старейшина

    Joined:
    1 Sep 2007
    Messages:
    356
    Likes Received:
    365
    Reputations:
    20
    думаю,что эта програмка для Паскаля была)
     
  10. Stingers

    Stingers Elder - Старейшина

    Joined:
    28 Aug 2007
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0

    я не понимаю какк такое делать....... мне нужно ее сдать в 14,00 помогите ктонибудь
     
  11. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Переведет :rolleyes:
     
  12. HencH_MaN

    HencH_MaN New Member

    Joined:
    8 Feb 2008
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    Помогите составить прогу на С++
    Составить программу, которая анализирует заданный входной файл, содержащий текст программы на С++, и переписывает из него все идентификаторы в выходной файл. Повторения идентификаторов в выходном файле не допускаются.

    Как именно отделить идентификаторы?
     
  13. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Лаба то по какому предмету?
    Если это теория компиляторов - то видимо от тебя ожидается составление автомата.
    Если же это программирование, то можно обойтись регексом (regex).
     
  14. lll6

    lll6 Elder - Старейшина

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Ну так как расписал не самым понятным образом, то и результат какой есть.
    Во-первых не понятно, про какие обе диагонали идёт речь. Про главную и побочную в обоих матрицах? Или про главную в обоих?
    Во-вторых не понятно, нужно просто написать программу, или именно с использованием функций. А если только с функциями, то почему запрет на процедуры.
    В общем вот наработки, проверяй, уточнишь задание - исправлю как удобно будет.
    Code:
    program for_stingers;
      var x,y,maxa,maxb:integer;
          a,b:array [1..5,1..5] of integer;
    begin
      for x:=1 to 5 do 
       for y:=1 to 5 do begin
        writeln('Введите элемент A[',x,',',y,']:');
        readln(a[x,y]);
        if a[x,y]>maxa then maxa:=a[x,y];
        writeln('Введите элемент B[',x,',',y,']:');
        readln(b[x,y]);
        if b[x,y]>maxb then maxb:=b[x,y];
       end;
      writeln ('Массив А исходный:');
      for x:=1 to 5 do begin
       for y:=1 to 5 do 
        write(a[x,y],' ');
        writeln;
       end;
      writeln ('Массив B исходный:');
      for x:=1 to 5 do begin
       for y:=1 to 5 do 
        write(b[x,y],' ');
        writeln;
       end;
      for x:=1 to 5 do begin
        if a[x,x]>0 then a[x,x]:=maxa;
        if b[x,x]>0 then b[x,x]:=maxb;
       end;
         writeln ('Массив А изменённый:');
      for x:=1 to 5 do begin
       for y:=1 to 5 do 
        write(a[x,y],' ');
        writeln;
       end;
      writeln ('Массив B изменённый:');
      for x:=1 to 5 do begin
       for y:=1 to 5 do 
        write(b[x,y],' ');
        writeln;
       end;
    end.
     
    #1134 lll6, 4 Mar 2009
    Last edited: 4 Mar 2009
  15. Irdis

    Irdis Elder - Старейшина

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    NigHT_0WL
    ппц... убей себя и как ты предлагаешь искать точки удовлетворяющие этому условию
    В этой задаче можно много чего приближать, но точно, видимо, ничего сказать нельзя.
     
  16. HencH_MaN

    HencH_MaN New Member

    Joined:
    8 Feb 2008
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    Это программирование. Поподробнее про регекс. :rolleyes:
     
  17. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    C#:
    Code:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Text.RegularExpressions;
    
    namespace ConsoleApplication7
    {
        class Program
        {
            static void Main(string[] args)
            {
                string source = 
    @"
    /*This is example*/
    #include <iostream>   // для использования std::cout
    #include <vector>     // для std::vector<>
    #include <map>        // для std::map<> и std::pair<>
    #include <algorithm>  // для std::for_each()
    #include <string>     // для std::string
     
     
    using namespace std;  // используем пространство имён ""std""
     
    void display_item_count(pair< string const, vector<string> > const& person) {
       // person - это пара двух объектов: person.first - это его имя,
       // person.second - это список его предметов (вектор строк)
       cout << person.first << "" is carrying "" << person.second.size() << "" items"" << endl;
    }
     
    int main()
    {
       // объявляем карту со строковыми ключами и данными в виде векторов строк
       map< string, vector<string> > items;
     
       // Добавим в эту карту пару человек и дадим им несколько предметов
       items[""Anya""].push_back(""scarf"");
       items[""Dimitri""].push_back(""tickets"");
       items[""Anya""].push_back(""puppy"");
     
       // Переберём все объекты в контейнере
       for_each(items.begin(), items.end(), display_item_count);
    }
    ";
                //вырезаем содержимое кавычек
                string quotePattern = "(\"[^\"]*\")";
                source = Regex.Replace(source, quotePattern, "");
    
                //отрезаем комментарии
                string commentPattern = "(//.+?)$";
                source = Regex.Replace(source, commentPattern, "", RegexOptions.Multiline);
                commentPattern = "(/\\*.+?\\*/)";
                source = Regex.Replace(source, commentPattern, "");
    
                //убираем зарезервированные слова
                string keywordPattern = "\\b(__abstract|abstract|__alignof Operator|array|__asm|__assume|__based|bool|__box|break|case|catch|__cdecl|char|class|const|const_cast|continue|cout|__declspec|default|__delegate|delegate|delete|deprecated|dllexport|dllimport|do|double|dynamic_cast|else|enum|enum class|enum struct|event|__event|__except|explicit|extern|false|__fastcall|__finally|finally|float|for|for_each|in|__forceinline|friend|friend_as|__gc|gcnew|generic|goto|__hook|__identifier|if|__if_exists|__if_not_exists|include|initonly|__inline|inline|int|__int8|__int16|__int32|__int64|__interface|interface class|interface struct|interior_ptr|__leave|literal|long|__m64|__m128|__m128d|__m128i|__multiple_inheritance|mutable|naked|namespace|new|new|__nogc|noinline|__noop|noreturn|nothrow|novtable|nullptr|operator|__pin|private|__property|property|property|protected|public|__raise|ref struct|ref class|register|reinterpret_cast|return|safecast|__sealed|sealed|selectany|short|signed|__single_inheritance|sizeof|static|static_cast|__stdcall|struct|__super|switch|template|this|thread|throw|true|try|__try|__except|__finally|__try_cast|typedef|typeid|typeid|typename|__unaligned|__unhook|union|unsigned|using declaration|using directive|uuid|__uuidof|value struct|value class|__value|virtual|__virtual_inheritance|void|volatile|__w64|__wchar_t|wchar_t|while)\\b";
                source = Regex.Replace(source, keywordPattern, "", RegexOptions.Multiline);
    
                //ищем идентификаторы, заносим в хештаблицу
                string idPattern = "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b";
                Dictionary<string, byte> ids = new Dictionary<string, byte>();
                foreach (Match m in Regex.Matches(source, idPattern))
                    ids[m.Groups[0].Value] = 0;
    
                //выводим
                foreach (string id in ids.Keys)
                    Console.WriteLine(id);
    
                Console.ReadLine();
            }
        }
    }
    
     
  18. HencH_MaN

    HencH_MaN New Member

    Joined:
    8 Feb 2008
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    Врятли всё так трудно мы таких программ в жизни не делали громоздких.1й курс всё таки,а по другому никак чтоль?
     
  19. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Ну во-первых там половина - это просто пример текста на С++. А во-вторых это и так минимальная реализация, если серьезно делать, там кода побольше будет ))
     
  20. MihakeR

    MihakeR New Member

    Joined:
    3 Feb 2008
    Messages:
    20
    Likes Received:
    3
    Reputations:
    0
    См. пост #1142
    Мне нужна реализация для Delphi

    Моя попытка:

    procedure TForm3.Button1Click(Sender: TObject);
    var n,m,j,i:real;
    begin
    try
    n:=strToFloat(Edit1.text);
    m:=strToFloat(Edit2.text);

    int n=3;
    int m=4;

    int result=1

    for(int j=1;j<=m;j++)
    for(int i=1;i<=n;i++)
    result y= 2*i + j;

    label3.Caption:=FloatToStr(y);

    except
    end;
    end;

    Адаптируйте код для делфи плз, не шарю я в кодинге, что поделать :)
     
Thread Status:
Not open for further replies.