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

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

Thread Status:
Not open for further replies.
  1. VERte][

    VERte][ Elder - Старейшина

    Joined:
    17 May 2007
    Messages:
    240
    Likes Received:
    163
    Reputations:
    32
    Code:
    program ebaat;
    var a,b,c,d: real;
    begin
    write('Input abc:');
    read(a,b,c);
    d:=b*b-4*a*c;
    if d<0 then writeln('Fuck you')
    else begin writeln('x1=',(-b+sqrt(d))/(2*a));
    writeln('x2=',(-b-sqrt(d))/(2*a)) end
    end.
    
    чет типа того)
     
    #401 VERte][, 24 Apr 2008
    Last edited by a moderator: 29 Apr 2008
  2. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Гг, должно быть так
    Code:
    writeln('x1=',(-b+sqrt(d))/(2*a))
    
    Если дискриминант меньше нуля, это не значит, что корней нет, это значит, что корни комплексные
    Учим матчасть

    ЗЫ. А хотя какие в школе комплексные числа :)

    ЗЗЫ.
    Code:
    program equation;
    
    procedure GetCoeff (var a : real; var b : real; var c : real);
    begin
      write ('Vvedite koefficienty cherez probel: ');
      readln (a, b, c);
      writeln (a : 0 : 3, 'x^2 + ', b : 0 : 3, 'x + ', c : 0 : 3);
    end;
    
    function GetDiscriminant (a, b, c : real) : real;
    var
      d : real;
    begin
      d := b * b - 4 * a * c;
      GetDiscriminant := d;
    end;
    
    var
      a, b, c, d, x1, x2 : real;
    
    begin
      GetCoeff (a, b, c);
      d := GetDiscriminant (a, b, c);
      if d > 0 then begin
        x1 := (-b - sqrt (d)) / (2 * a);
        x2 := (-b + sqrt (d)) / (2 * a);
        writeln ('x1 = ', x1 : 0 : 3);
        writeln ('x2 = ', x2 : 0 : 3);
      end
      else if d = 0 then begin
        x1 := -b / (2 * a);
        writeln ('x = ', x1 : 0 : 3);
      end
      else begin
        x1 := -b / (2 * a);
        x2 := sqrt (abs (d)) / (2 * a);
        writeln ('x1 = ', x1 : 0 : 3, ' - i * ', x2 : 0 : 3);
        writeln ('x2 = ', x1 : 0 : 3, ' + i * ', x2 : 0 : 3);
      end;
    end.
    
     
    #402 krypt3r, 24 Apr 2008
    Last edited: 24 Apr 2008
  3. }I{ek

    }I{ek New Member

    Joined:
    8 Feb 2008
    Messages:
    12
    Likes Received:
    2
    Reputations:
    0
    Помогите плз с лабой....а то ваще не секу.......
    Разреженный массив на основе статического массива указателей
    Массив на основе указателей используется для хранения разреженных массивов, эле-менты которых имеют размер намного больший, чем размер указателя.
    Максимальный размер массива задается глобальной константой. Тип элементов раз-реженного массива данных - структура с полями: регистрационный номер, ФИО, ад-рес, ИНН.
    Данные. Размер массива, массив указателей на данные.
    Операции. Конструктор с параметром, инициализирующий размер массива и запол-няющий все элементы массива указателей значением 0. Установка значения элемента с индексом i. Получение значения элемента по его индексу. Подсчет количества непус-тых элементов в массиве данных. Вывод элементов массива. Операции инициализации размера массива и доступа к элементам массива по индексу должны выполняться с проверкой допустимости размера массива и индекса элемента
     
  4. WinTREI

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

    Joined:
    14 Mar 2008
    Messages:
    31
    Likes Received:
    0
    Reputations:
    0
    а можно переделать программы чтоб было ни через рандом, а по средствам ввода?
    например сначало вывидиться *Введите кол-во элементов массива Х*, вводим кол-во, потом *Введите элементы:* вводим элементы, далее со вторым массивом так же и в конце выводится результат

    з.ы. я еще не понел почему numel - 1 объясните пожалуйста)
     
    #404 WinTREI, 24 Apr 2008
    Last edited: 24 Apr 2008
  5. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Процедура ввода,(ввод каждого элемента через Enter):

    Code:
    [B][COLOR=Green]procedure FillMassive (numel : integer; var a : TMassive);
    var
      i : integer;
    begin
      writeln('Введи элементы массива');//
      for i := 0 to numel - 1 do
        readln(a[i]);[COLOR=Red]{Можешь заменить на read}[/COLOR]
    end;[/COLOR][/B]
    Потому что numel - это всего элементов, а мы начинаем с нуля.....
    Можно записать вот так
    (for i := 1 to numel do)


    =============


    P.S.

    Плюс ко всему:


    (c)By _Great_
    Прочитать правила >>
     
    #405 De-visible, 24 Apr 2008
    Last edited: 24 Apr 2008
  6. WinTREI

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

    Joined:
    14 Mar 2008
    Messages:
    31
    Likes Received:
    0
    Reputations:
    0
    во второй задаче ругаетсяна эту строчку
    что не существует типа TMassive, хотя он задан :confused:
     
  7. WinTREI

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

    Joined:
    14 Mar 2008
    Messages:
    31
    Likes Received:
    0
    Reputations:
    0

    Плюс ко всему:



    (c)By _Great_
    Прочитать правила >>[/QUOTE]
    извените, я потом заметил эту тему, не удаляйте пожалуйста, еще не все вопросы решили
     
  8. VERte][

    VERte][ Elder - Старейшина

    Joined:
    17 May 2007
    Messages:
    240
    Likes Received:
    163
    Reputations:
    32
    Да ты конечно крут, но комплексные корни (по крайней мере в универе) кроме как в жордановой форме в каноничском базисе или в нахождении инвариантных пространств оператора больше нигде не нужны...
     
  9. ForNeVeR

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

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    Ну, мы на 2-м курсе политеха вовсю ими пользуемся... И по математике, и по электротехнике.
     
  10. WinTREI

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

    Joined:
    14 Mar 2008
    Messages:
    31
    Likes Received:
    0
    Reputations:
    0
    вот задачка:
    для данного числа a > 0 найти такое натуральное n, для которого n! < a и (n+1)! > a
     
  11. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Че-то в голову ничего не приходит кроме тупого брута((
    Code:
    program laba;
    
    function f (n : integer) : longint;
    begin
      if n = 0 then
        f := 1
      else
        f := n * f (n - 1);
    end;
    
    var
      i, n, a : longint;
    
    begin
      write ('Vvedite chislo a: ');
      readln (a);
      i := 0;
      while 1 = 1 do begin
        if (f (i) < a) and (f (i + 1) > a) then begin
          writeln ('a = ', a);
          writeln ('n = ', i);
          writeln ('n! = ', f (i));
          writeln ('(n + 1)! = ', f (i + 1));
          break;
        end;
        inc (i);
      end;
    end.
    
     
  12. WinTREI

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

    Joined:
    14 Mar 2008
    Messages:
    31
    Likes Received:
    0
    Reputations:
    0
    вот еще задача:
    Даны целочисленные массивы S и T с разным количеством элементов. Найти количество элементов в этих массива равных первому элементу массива S. Ввод массивов выполнять в процедуре, а вычисление количества – в функции.
     
  13. Bert_HoL

    Bert_HoL New Member

    Joined:
    1 Sep 2007
    Messages:
    8
    Likes Received:
    2
    Reputations:
    0
    Спасибо за то что есть добрые люди на свете =) По плюсигу вам =)
    Но вот есть загвоздка:

    "ааа...НАРОД помогите пожалуйста,буду настолько МЕГА благодарен!... =)))

    " программf решающая квадратное уравнение ax(в квадрате) + bx+c=0
    каэф abc что бы вводились с клавиатуры.
    "

    В ПАСКАЛЕ. " -
    Если а равно 0 то он не решит...Помогите пожалуйста =)) БУД НУ ОЧЕНЬ ВЕСЬМА БЛАГОДАРЕН! =)Зарание спасибо.
     
  14. rubik-nerubik

    rubik-nerubik Elder - Старейшина

    Joined:
    4 May 2007
    Messages:
    248
    Likes Received:
    9
    Reputations:
    -2
    AAA! PAscal

    люди выручайте! нужно следующее:
    "
    Программа которая решает задачу резервирования оборудования сети, номера "аварийных" узлов вводяться с клавиатуры.
    "

    оч срочно, помогите
     
  15. dos999

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

    Joined:
    15 Feb 2008
    Messages:
    137
    Likes Received:
    24
    Reputations:
    0
    в чём заключается задача резервирования оборудования сети? =)
     
  16. dos999

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

    Joined:
    15 Feb 2008
    Messages:
    137
    Likes Received:
    24
    Reputations:
    0
    паскаля нет так что не проверял, но должно работать
    Code:
     
    program lab;
    
    var
      S: array [1..10] of integer;
      T: array [1..15] of integer;
    
    procedure Addarray;
    var
      j: integer;
    begin
      for j := 1 to 10
        S[j] := random[10];{заполнение}	
      for j := 1 to 15
        T[j] := random[10];{ещё одно =)}
    end;
    
    function GetCh: integer;
    var
      c, i: integer;  
    begin
      c := S[1];
      Result := 0;
      for i := 1 to 15 do
        if  T[i] = c then
          inc(Result);
    end;
    
    begin
      Addarray;
      writeLN("Kolichstvo=",GetCh);
    end.
     
  17. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Code:
    
    Program Sqrt1; 
    Var A, B, C, D, X1, X2 : Real; 
    Begin 
    Writeln ('Введите коэффициенты квадратного уравнения вида '); 
    Readln (A,B,C); 
    D:=B*B-4*A*C; 
    if A<>0 then Begin
    If D<0 Then Writeln ('Корней нет! ') 
    Else 
    Begin 
    X1:=(-B+SQRT(D))/2/A; 
    X2:=(-B-SQRT(D))/2/A; 
    If X1<>X2 then
    Writeln ('X1=', X1:8:3, ' X2=',X2:8:3)
    else  Writeln (' Корень один ','X=',X2:8:3)
    End;
    End
    else 
    Writeln('Решений нет');
    Readln;
    End. 

    Вот самый примитивный способ....
     
    #417 De-visible, 25 Apr 2008
    Last edited: 25 Apr 2008
    1 person likes this.
  18. Garfi

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

    Joined:
    1 Feb 2008
    Messages:
    85
    Likes Received:
    23
    Reputations:
    0
    подчеркнутое красным лишнее ;)
     
  19. criz

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

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Чего эт он лишний? :)
    Code:
    Program Sqrt1; 
    Var A, B, C, D, X1, X2 : Real; 
    [COLOR=DarkRed]Begin[/COLOR] 
    	Writeln ('Введите коэффициенты квадратного уравнения вида '); 
    	Readln (A,B,C); 
    	D:=B*B-4*A*C; 
    	if A<>0 
    	then 
    		[COLOR=DarkRed]Begin[/COLOR]
    			If D<0 Then Writeln ('Корней нет! ') 
    			Else 
    				[COLOR=DarkRed]Begin[/COLOR] 
    					X1:=(-B+SQRT(D))/2/A; 
    					X2:=(-B-SQRT(D))/2/A; 
    					If X1<>X2 then
    						Writeln ('X1=', X1:8:3, ' X2=',X2:8:3)
    					else  Writeln (' Корень один ',X=',X2:8:3)
    				[COLOR=DarkRed]End;[/COLOR]
    		[COLOR=DarkRed]End[/COLOR]
    	else 
    Writeln('Решений нет');
    [COLOR=DarkRed]End. [/COLOR]
    
    3 begin'a и 3 end'a, вроде все норм =)
     
    1 person likes this.
  20. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    ЛОЛ....
    Теперь Begin без End???
    Будь внимательнее...:)
     
    #420 De-visible, 25 Apr 2008
    Last edited: 25 Apr 2008
Thread Status:
Not open for further replies.