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

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

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

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

    Joined:
    4 Jan 2008
    Messages:
    26
    Likes Received:
    6
    Reputations:
    0
    Помогите пожалуйста , чтобы работало через Trubo C.

    Реализовать команду, переставляющую местами первую и последнюю записи данного файла, состоящего из записей заданной длины.
     
  2. Mosvit

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

    Joined:
    5 Mar 2007
    Messages:
    86
    Likes Received:
    16
    Reputations:
    1
    Помогите решить, кому не сложно :)
    Программа на C

    3.Написать подпрограмму сортировки 2-мерного массива целых по строкам (использовать сумму значений строки), сохранив эти значения в главной диагонали массива.
     
  3. Тилль

    Тилль Elder - Старейшина

    Joined:
    26 May 2006
    Messages:
    44
    Likes Received:
    3
    Reputations:
    0
    Напишите в чем ошибка в предпоследней строчке! Если поставить вместо "а" "3" в предпоследней строке то работает, а так нет, как сделать?
    #include<iostream>
    using namespace std;


    template<class T> T sum(T m, int n) {return m+n;}


    template<class T> T sum(T* a, int size)
    {
    T s = 0;
    for(int i=0; i<size; ++i)
    s+=a;
    return s;
    }

    int main()
    {
    cout<<sum(1,2)<<endl;
    int a[]={1,2,3};

    cout<<sum(3,3)<<endl;
    return 0;
    }
     
  4. LLlOK

    LLlOK New Member

    Joined:
    9 May 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    помогите плс

    задали вот такое задание в Делфи: написать программу расчитывающаю количество дней,часов,минут,секунд между двумя датами, заданными в формате например 12.01.2009 14:37:59 и системной датой, временем... расчёт должен вестись по всем правилам, с учётом високосных годов....

    и если можно плиз с пояснениями.....
     
  5. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    Visual Studio.... это же мутант.... Стандарты? Да он ест их на завтрак, обед и ужин.
    Так что о правильности написания кода нельзя судить по словам этого демона :)
     
    1 person likes this.
  6. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5

    Ты передал литерал вместо указателя в первом параметре в обоих случаях использования функции sum.
    Не совсем понял вопрос. Функция ждет от тебя указатель, зачем тебе передавать ей тройку, вместо него? Какую из двух перегруженных функций ты хотел использовать?
    Программа будет работать в обоих случаях, потому что подставляется перегруженная функция, которая удовлетворяет переданным параметрам (их типам)
     
    #1386 ss88, 12 May 2009
    Last edited: 12 May 2009
  7. SHAXID

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

    Joined:
    13 Dec 2007
    Messages:
    24
    Likes Received:
    17
    Reputations:
    -6
    Помогите, пожалуйста, разработать программу нахождения значения определенного интеграла методом Симпсона (на паскале).
    Вот, собственно, функция для интегрирования:

    y=log3(внизу)х (х+х^2)^-1 .


    Исходные данные: интервал интегрирования, количество разбиений отрезка.
    Результат нужно получить такой: значение интеграла, график заданной функции.

    Решение интерпретировать графически (автоматическое масштабирование, название графика, метки на осях и обозначение осей).
    Также нужно предусмотреть переключение между графическим и текстовым окнами для ввода исходной информации и вывода результатов интегрирования и графической интерпретации. И предусмотреть проверку корректности данных.

    Код на дельфи уже есть:

    A, B - интервал интегрирования
    N - число точек на интервале
    Func - функция, от которой берется интеграл.
    Возвращаемое значение - значение интеграла


    PHP:
    type
      TFunction 
    = function(XExtendedArgPointer): Extended;

    function 
    Simpson(ABExtendedNCardinalFuncTFunctionArgPointer):
      
    Extended;
    var
      
    hExtended;
      
    XExtended;
      
    KExtended;
      
    IInteger;
    begin
      Assert
    (0);
      
    := 0.5 * (A) / N;
      
    Result := Func(AArg);
      
    := h;
      for 
    := 1 to 2 do
      
    begin
        
    if I mod 2 0 then
          K 
    := 2
        
    else
          
    := 4;
        
    Result := Result Func(XArg);
        
    := h;
      
    end;
      
    Result := Result Func(BArg);
      
    Result := Result 3;
    end;
    Но нужно его как-нибудь переделать в код Паскаля.
    Плиз помогите)
     
  8. playhard.g0pr0

    Joined:
    16 Feb 2009
    Messages:
    19
    Likes Received:
    29
    Reputations:
    0
    парни помогите решить уравнение


    http://filetransfer.jimm.org/download.php?file=7e1e25b35cf1c19a
     
  9. R1der23

    R1der23 New Member

    Joined:
    28 Jul 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    мм.. привет всем.. начали изучать делфи. столкнулся с первой проблемой.. препод сказал нестандартная задача.. как не пробовал не получается.. не совсем понимаю именно сути задачи.. если можно помогите решить.. и будет супер если будет пара комментов.. вот собственно сама задача

    Задачка по Делфи.
    Суммирование рядов.
    для заданного положительного Е и заданного х выччслить сумму ряда с точностью Значение параметра m, входящего в некоторые варианты, вводится с клавнатуры. Суммирование ряда завершается, если модуль очередного слагаемого меньше Е. Значение суммы сравнить с соответствующим значением в левой части равенства. действительные типы объявить ехtended. Предусмотреть ограничение количества слагаемых ряда для предотвращения <зацикливанию> программы.

    (1-x)^(-m)=1+m*x+[m*(m+1)/2!]*x^2+[m*(m+1)(m+2)/3!]*x^3+.... |x|<1; m>0
     
  10. Fo)(a

    Fo)(a New Member

    Joined:
    7 Apr 2009
    Messages:
    7
    Likes Received:
    1
    Reputations:
    5
    Всем привет, уже целый день бьюсь с задачей Проверить соответствие слов begin, end, case end, record в операторах программы Pascal учесть что в строке может быть несколько слов, повторений. Программа на тему динамические структуры данных Заранее спасибо

    PS Сори!!! не указал язык в которм выполнить надо" надо сделать на Pascal
     
    #1390 Fo)(a, 13 May 2009
    Last edited: 15 May 2009
  11. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Code:
    program Project2;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils, Math;
    
    var
      x, e: Extended;
      m: Integer;
      maxCount: Integer;
      a, sum: Extended;
      i: Integer;
    
    begin
      //вводим начальные данные
      Write('Enter x:');
      repeat
      Readln(x);
      until abs(x)<1;
    
      Write('Enter m:');
      repeat
      Readln(m);
      until m>0;
    
      Write('Enter e:');
      repeat
      Readln(e);
      until e>0;
    
      //считаем сумму ряда
      maxCount := 100;
      sum := 1;
      a := 1;
      for i:=1 to maxCount do
      begin
      a := a*(m+i-1)*x/i;
      sum := sum + a;
      if (abs(a)<e) then
        break;
      end;
      //пишем результат
      WriteLn('Result :' + floatToStr(sum));
      WriteLn('True value :' + floatToStr(Power(1-x, -m)));
      Readln;
    end.
    
     
  12. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Программа-то на каком языке должна быть?
     
  13. Richard

    Richard Member

    Joined:
    2 Dec 2008
    Messages:
    42
    Likes Received:
    7
    Reputations:
    1
    Может кто-нить помочь три задачки решить?

    1. Дан массив из N элементов. Каждый элемент равен 0, 1 или 2; нужно переставить элементы так, чтобы сначала располагались все нули, затем все единицы, а после них - двойки

    2. Найти количество элементов в массиве, больших среднего арифметического всех элементов массива.

    3.Задан массив из N элементов. Определить максимальный элемент.

    Заранее спасибо
     
  14. Roston

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

    Joined:
    31 Jul 2008
    Messages:
    337
    Likes Received:
    104
    Reputations:
    8
    на каком языке то????


    еси С++ то первая задача готовая

    Code:
    #include<iostream>
    using namespace std;
    void swap(int *p1, int *p2);
    int main()
    {
    int p[10];
    	int i;
    	for (i=0;i<10;i++){
    	cout << "Enter array's element #"<<i+1<<"\n";
    	cin >> p[i];
    	if(p[i]<0 || p[i]>2)
    	{ cout << "Error\n";
    		break;
    		
    	}
    	}
    for(i=0;i<10;i++)
    {
    	for (int j=0;j<9;j++)
    	{
    		if (p[j]>p[j+1])
    			swap (&p[j], &p[j+1]);
    	}
    }
    for (i=0;i<10;i++)
    	cout << p[i]<<" ";
    return 0;
    }
    void swap(int *p1, int *p2)
    {
    	int temp=*p1;
    	*p1=*p2;
    	*p2=temp;
    }
    я кароч токо начал учить не знаю как сделать что бы если елемент масива больше 2 или меньше 0 выйти в конец программы?
     
    #1394 Roston, 13 May 2009
    Last edited: 13 May 2009
  15. dirty_stuFF

    dirty_stuFF New Member

    Joined:
    9 May 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Ребят нужна помощ знатаков асма -.-
    Нужно написать процедуры для ввода с клавиатуры, аналоги подпрограмм ввода/вывода с Паскаля Read(ln) Write(ln)
     
  16. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    когда то писал ввиде макросов, вот держи:
    Code:
    puts MACRO src         ; print string to STDOUT
     IFB <src>	                                     
      display "Use macro: puts <string>"
      EXITM								
     ELSE
      push ax
      push dx
      lea dx,src 						
      mov ah,09h						
      int 21h							
      pop dx
      pop ax
     ENDIF 								
    ENDM
    Code:
    gets MACRO dst         ; read string from STDIN
    local _read, _done                
    
     IFB <dst>                          
      display "Use macro: gets <dst>"   
      EXITM								
     ELSE 
       push ax
       push bx
       lea bx, dst            
        _read:     
          getc
          cmp al, 13
          je _done        
          mov [bx], al
          inc bx
          jmp _read
        _done:
          putc 0Ah
       pop bx
       pop ax   
     ENDIF   
    ENDM
     
    #1396 razb, 14 May 2009
    Last edited: 14 May 2009
    1 person likes this.
  17. VaXiT

    VaXiT New Member

    Joined:
    8 Sep 2007
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    люди, можете помочь решить задачу двуэтапным симплекс методом в С++:

    max f = 315х1 + 278х2 +573х3 + 370х4
    ограничения:
    350x1 + 620x3 ≤ 64100;
    40x1 + 30x2 + 20x3 + 20x4 ≤ 4800;
    30x1 + 40x2 + 30x3 + 30x4 ≤ 55200;
    86x1 + 110x2 + 150x3 + 52x4 ≤ 22300;
    160x1 + 92x2 + 158x3 + 128x4 ≤ 26240;
    501x4 ≤ 800;
    158x2 + 30x3 + 50x4 ≤ 7910;
    4.5x1 + 4.5x2 + 4.5x3 + 4.5x4 ≤ 720;
    x2 ≥ 40;
    x3 ≤ 120;
    x1, x2, x3, x4 ≥ 0;
     
  18. Yazzer

    Yazzer New Member

    Joined:
    13 May 2009
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Помогите вот с такой задачей в C++ B.

    есть Ansi строка из 7-ми символов. То есть 7 байт.
    Надо сделать её длинной в 8 байт, вставив в исходную строку нулевой бит через каждые 7 бит.
     
  19. Fo)(a

    Fo)(a New Member

    Joined:
    7 Apr 2009
    Messages:
    7
    Likes Received:
    1
    Reputations:
    5

    Pascal
     
    1 person likes this.
  20. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0

    Code:
    program Project2;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils;
    
    var
      source: string;
      lexem: string;
      c : char;
      i:Integer;
      stack: array[0..100] of string;
      stackPointer: integer;
    
      procedure PushLexem(lexem: string);
      begin
        if lexem = 'end' then
          begin
          //найден конец блока, выталкиваем из стека
          if stackPointer = 0 then
            Writeln('Error: Found "end", but not found "begin", "case" or "record"')
          else
            dec(stackPointer)
          end
        else
          if (lexem='begin') or (lexem='case') or (lexem='record') then
            begin
              if(stackPointer>=Length(stack)) then
                 Writeln('Error: Stack overflow');//переполнение стека - слишком много вложенных блоков в исходном тексте
              //кладем лексему в стек
              stack[stackPointer] := lexem;
              inc(stackPointer);
            end
      end;
    
    begin
      //ввод проверяемого кода
      Writeln('Enter Pascal source: ');
      Readln(source);
      //переводим в нижний регистр, добавляем пробел в конце
      source := LowerCase(source)+' ';
      //перебираем символы, ищем лексемы
      lexem := '';
      for i:=1 to Length(source) do
      begin
        c := source[i];
        if c in ['a'..'z','0'..'9','_'] then
          //читаем лексему
          lexem := lexem + c
        else
        if lexem<>'' then
          begin
          //прочитана лексема, кладем в стек
          PushLexem(lexem);
          lexem := '';
          end
      end;
      //проверяем сотсояние стека, он должен быть пуст
      if stackPointer > 0 then
         Writeln('Error: Found "'+stack[stackPointer-1]+'", but not found "end"');
    
      Writeln('Analysis completed');
      Readln;
    
    end.
    
     
Thread Status:
Not open for further replies.