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

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

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

    akasha9 Member

    Joined:
    17 May 2007
    Messages:
    18
    Likes Received:
    5
    Reputations:
    5
    Срочно нужна помощь
    Нада на Visual C++

    1. Введите одномерный целочисленный массив А.
    2. В массиве дважды произвести циклический сдвиг влево всех элементов,
    предшествующих максимальному из нечетных.
    3. Вывести полученный массив.

    c меня +
     
  2. -=megahertz=-

    -=megahertz=- Elder - Старейшина

    Joined:
    23 May 2007
    Messages:
    79
    Likes Received:
    16
    Reputations:
    1
    у кого есть исходник простого теста на С++? 2 вопроса и у каждого по 2 варианта ответа...после чего программа считывает правильные ответы и ставит кол-во баллов
     
  3. Bye_13

    Bye_13 New Member

    Joined:
    10 Dec 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Уважаемые форумчане, помогите написать курсовую на паскале бедному студенту...пожалуйста.

    Курсовая работа по курсу "Информатика"
    ЗАДАНИЕ:

    Написть программу по обслуживанию базы данных. программа олжна включать:
    1. Вод данных (как пероначальные- создание БД, так и дозапись)
    2. Вывод данных на экран (в виде таблицы)
    3. Поиск записи по ключу (первому полю)
    4. Корректировка записи по ключу (всех полей)
    5. Сортировка данных по второму полю методом пузырька
    6. Поиск максимального или минимального элемента по четвертому полю
    7. Файл для хранения БД должен быть типизированным.

    к примеру нужно создать базу данных телефонных номеров (номер телефона, фио абонента, город, дата регистрации)
     
    #1103 Bye_13, 20 Feb 2009
    Last edited: 20 Feb 2009
  4. lll6

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

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Помочь или написать полностью за тебя? Если второе, то много писанины, а если первое, то давай наработки.
     
  5. -=megahertz=-

    -=megahertz=- Elder - Старейшина

    Joined:
    23 May 2007
    Messages:
    79
    Likes Received:
    16
    Reputations:
    1
    а на мой вариант у кого найдется ответ? *sorry* за наглость... :[
     
  6. Bye_13

    Bye_13 New Member

    Joined:
    10 Dec 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0

    помочь. наработок пока особых нет правда...

    Я вот чего не помню...как создать и забить текстовый документ и как его "дозаписывать"

    как выводить данные на экран в виде таблицы?

    как понимать "методом пузырька"?

    и по какому принципу должен быть типизирован файл хранения бд.

    просто нихрена препод не объяснил нормально- лишь задание выдал, а дальше делайте ребята, что хотите...
     
  7. lll6

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

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Создать можно самому, либо rewrite, забить записью в файл, а дозапись - append.
    так и понимать, есть такой метод сортировки, самый лёгкий.
    если не сказано, то как удобно
     
  8. andrew1991

    andrew1991 New Member

    Joined:
    6 Feb 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помогите решить задачу на С++:
    нужно построить график функции : Sin(sqrt(2*x)) + cos(x)
    диапазон изменения аргумента: а=0 в=2П!
    Число точек графика 50!
    ПОСТРОИТЬ ГРАФИК БЕЗ ИСПОЛЬЗОВАНИЯ ГРАФИЧЕСКОГО РЕДАКТОРА!!!!
    Заранее спс!
     
  9. A2GIL

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

    Joined:
    31 Aug 2007
    Messages:
    84
    Likes Received:
    59
    Reputations:
    -3
    Есть сортировка массива (tasm):

    Code:
    masm
    model small
    .data
     message1 db  10,13, 'Primary array : $',10,13
     message2 db 10,13, 'Sorted array : $',10,13
     promt    db 10,13,10,13,'Press any key to exit...$'
     len equ 9
     mas dw 2,7,4,0,1,9,3,6,5,8
     tmp dw 0
     i dw 0
     j dw 0
    .stack
    .code 
    
    
    main:
      mov ax,@data
      mov ds,ax
      mov ah,9
      mov dx,offset message1
      int 21h
     
      mov cx,10
      mov si,0
    
    _outputArray:
      mov ah,2
      mov dx,mas[si]
      add dl,30h
      int 21h
      add si,2
      loop _outputArray
    
      ; for (i=0;i<9;i++)
      ;  for (j=9;j>i;j--)
      ;    if (mas[i]>mas[j])
      ;      {tmp=mas[i];
      ;      mas[i]=mas[j];
      ;      mas[j]=tmp;}
      
     sort:
       mov j,9
       jmp cyclj
         xchng:
           mov bx,i
           shl bx,1
           mov ax,mas[bx]
    	   mov bx,j
    	   shl bx,1
    	   cmp ax,mas[bx]
    	   jle lesser 
           mov tmp,ax
           mov ax,mas[bx]
           mov bx,i
           shl bx,1
           mov mas[bx],ax
           mov bx,j
           shl bx,1
           mov ax,tmp
           mov mas[bx],ax
         lesser:
           dec j
           cyclj:
           mov ax,j
           cmp ax,i
           jg xchng
           inc i
           cmp i,len
           jl sort
      mov ah,9
      mov dx, offset message2
      int 21h
      mov cx,10
      mov si,0
     _outputSortedArray:
      mov dx,mas[si]
      add dl,30h
      mov ah,2
      int 21h
      add si,2
      loop _outputSortedArray
      
      mov ah,9
      mov dx,offset promt
      int 21h
      mov ah,1
      int 21h
      
      mov ah,4ch
      int 21h
    
    end main
    Не подскажет кто-нибудь как учитывать еще и знак числа? Сортирует только положительные числа...
     
    #1109 A2GIL, 22 Feb 2009
    Last edited: 23 Feb 2009
  10. sid-asb

    sid-asb New Member

    Joined:
    22 Feb 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помогите кто можэт , задание написать программу в С++builder 6 обробатывающую вектор, добавление нового элемента, удаление элемента, изменение, поиск максимального и минимального значения , в принцепи все ужэ зделал но препод спалил что удаление элемента работает каряво а в принцепи не работает, когда удаляется элемент то поиск минимального значения всегда показывает 0, то есть элемент получается не удаляется а заменяется на ноль , ПОМОГИТЕ кто можэт что нужно дописать чтоб нормально удалялся элемент!!! .

    Code:
    //---------------------------------------------------------------------------
    #include <iostream>
    # include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    
    int i, j, k, n, is_null;
     float tmp;
     char c;
     FILE *fp;
     float **mas;
    
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::FormShow(TObject *Sender)
    {
            is_null=1;
    
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::RazmerClick(TObject *Sender)
    {
          for (i=0;i<SG1->ColCount;i++)
            for (j=0;j<SG1->RowCount;j++)
              {SG1->Cells[i][j]="";
               SG1->Cells[i][j].Delete(i,1);
              }
           SG1->ColCount = StrToInt(Edit1->Text);
         }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::MaxClick(TObject *Sender)
    {
        if (is_null!=1)  //î÷èñòèòü ïàìÿòü îò ñòàðîãî ìàññèâà
        {
         for(i=0; i<n; i++)  delete[] mas[i];
         delete[] mas;
        }
    
        //íîâîå êîëè÷åñòâî ýë-òîâ
       n = StrToInt(Edit1->Text);
       mas = new float *[n];
       for (i = 0; i < n; i++)
         mas[i] = new float [n];
    
       //ñ÷èòûâàíèå èç String Grid 1 â ìàññèâ
       for (i=0; i<n; i++)
       for (j=0; j<n; j++)
         { if (SG1->Cells[i][j]!="")
             mas[j][i]=StrToFloat(SG1->Cells[i][j]);
           else mas[j][i]=0;
         }
    
         //ïîèñê ìàêñèìàëüíîãî çíà÷åíèÿ
    
       i=0;
        for (j=0; j<n; j++)
         {
          if (mas[i][j]>tmp)
            tmp = mas[i][j];
         }
        //âûâîä â String Grid 2
    
       Edit2->Text = FloatToStr(tmp);
    
       //ðåçóëüòàò ïîèñêà â òåêñòîâûé ôàéë
       fp = fopen("max.txt", "w");
         {
          fprintf(fp," %.2f  ",tmp);
          fprintf(fp,"\n");
         }
       fclose(fp);
    
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
    {
        if (is_null!=1)   //åñëè ïàìÿòü ïîä ìàññèâ âûäåëåíà, îñâîáîäèòü
      {
        for(i=0; i<StrToInt(Edit1->Text); i++)  delete[] mas[i];
        delete[] mas;
      }
    }
    //---------------------------------------------------------------------------
    
    
    void __fastcall TForm1::MinClick(TObject *Sender)
    {
        if (is_null!=1)  //î÷èñòèòü ïàìÿòü îò ñòàðîãî ìàññèâà
        {
         for(i=0; i<n; i++)  delete[] mas[i];
         delete[] mas;
        }
    
        //íîâîå êîëè÷åñòâî ýë-òîâ
       n = StrToInt(Edit1->Text);
       mas = new float *[n];
       for (i = 0; i < n; i++)
         mas[i] = new float [n];
    
       //ñ÷èòûâàíèå èç String Grid 1
       for (i=0; i<n; i++)
       for (j=0; j<n; j++)
         { if (SG1->Cells[i][j]!="")
             mas[j][i]=StrToFloat(SG1->Cells[i][j]);
           else mas[j][i]=0;
         }
    
         //ïîèñê ìèíèìàëüíîãî çíà÷åíèÿ
    
       i=0;
         for (j=0; j<n; j++)
         {
          if (mas[i][j]<tmp)
           tmp = mas[i][j];
         }
    
        //âûâîä â Edit3
        Edit3->Text = FloatToStr(tmp);
    
       //ðåçóëüòàò ïîèñêà â òåêñòîâûé ôàéë
       fp = fopen("min.txt", "w");
         {
          fprintf(fp," %.2f  ",tmp);
          fprintf(fp,"\n");
         }
       fclose(fp);
    }
    //---------------------------------------------------------------------------
    
    
    void __fastcall TForm1::N2Click(TObject *Sender)
    {
     Close();        
    }
    //---------------------------------------------------------------------------
    
     
  11. Si{R}ius

    Si{R}ius Member

    Joined:
    13 Nov 2008
    Messages:
    95
    Likes Received:
    36
    Reputations:
    0
    Пишу модуль на Паскале. По сути написал, но не пойму, что надо указывать в разделе инициализации( Гляньте, плиз, а то кодер с меня пока не очень:)

    Code:
    unit unitd;
    Interface
    uses crt;
    type massiv=array[1..100,1..100] of real;
         massiv1=array[1..100] of real;
    Implementation
    procedure matri(var a:massiv);
    procedure Matr_Prakt(a:massiv; var koor:massiv1);
    procedure Funkcia(koor:massiv1);
    
    procedure matri;
    var
    i,j:byte;
    function new:real;
    begin
     new:=((2-sqr(i-3))/i)*(j-5.7);
     end;
    begin
    clrscr;
    for i:=1 to 10 do
     for j:=1 to 10 do
     a[i,j]:=new;
    for i:=1 to 10 do begin
     writeln;
     for j:=1 to 10 do
     write(a[i,j]:8:2);
     end;
     readkey;
    end;
    
    
    procedure Matr_Prakt;
    type massiv=array[1..100,1..100] of integer;
         massiv1=array[1..500] of integer;
    var   q,n,n1,max_stolb:integer;
    i,j:byte;
           x:massiv1;
    
    
    
    begin
    i:=1;
    max_stolb:=1;
    for j:=2 to N do
    if a[i,j]>a[i,j-1] then max_stolb:=j;
    
    for i:=1 to N do
    for j:=1 to N do
    koor[i]:=koor[i]+a[i,j]*a[j,max_stolb];
    
    write('a(',koor[1]);
    for i:=2 to n do
    write(',',koor[i]);
    write(')');
    writeln;
    writeln;
    readln;
    end;
    
    
    procedure Funkcia;
    var U:real;
    qwer,a,i,n,chisl,znam:integer;
    q1,q2:real;
    
    function F(b:real; var a:real):integer;
    
    begin
    a:=a+b;
    end;
    
    begin
    for i:=1 to n do
    if koor[i]<=1 then f(koor[i],q1);
    for i:=1 to n do
    if koor[i]>1 then f(koor[i],q2);
    
    U:=(1+q1)/(2+q2);
    writeln(u);
    readln;
    writeln;
    writeln;
    end;
    
    begin
    matri;
    Matr_Prakt;
    Funkcia;
    end.
    
     
    1 person likes this.
  12. snAKe33

    snAKe33 Active Member

    Joined:
    10 Feb 2009
    Messages:
    13
    Likes Received:
    169
    Reputations:
    24
    Делфи!
    Вычислить площадь плоской фигуры, заключенной между дугами кривых:
    y(x)=-Ln(x) и y(x)=R-x
    При каком значении R площадь этой фигуры не превышает единицы.
     
  13. Moldman

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

    Joined:
    12 Jun 2007
    Messages:
    91
    Likes Received:
    35
    Reputations:
    -5
    Pascal

    Задание 1
    Имеется склад, на котором присутствует некоторый ассортимент товаров. Запас каждого товара неограничен. У каждого товара своя стоимость Ci и масса mi. Написать программу, которая методом динамического программирования формирует такой набор товаров, чтобы его суммарная масса не превышала заданную грузоподъемность М, и стоимость была бы максимальной. На экран вывести промежуточные вычисления, сформированный набор, его стоимость и массу.
    [​IMG]




    Задание 2
    Написать программу, которая оптимальным образом расставляет скобки при перемножении матриц. Размерности матриц считать из файла. На экран вывести промежуточные вычисления и результат.

    М1[5x4], M2[4x7], M3[7x3], М4[3x8], M5[8x3], M6[3x7], M7[7x2], M8[2x2].

    за правильное решение +
     
  14. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Оптимально по чем? По числу операций, по объему памяти, по быстродействию?
     
  15. Moldman

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

    Joined:
    12 Jun 2007
    Messages:
    91
    Likes Received:
    35
    Reputations:
    -5
    по объему памяти :)
     
  16. Unregistered

    Unregistered Member

    Joined:
    15 Jan 2009
    Messages:
    24
    Likes Received:
    10
    Reputations:
    1
    Дано действительное число y, натуральное число n и сгенерированное случайное действительное число x (x=0…n). Вычислить [​IMG] . Вивести дробовую часть результата. IDE: Borland Pascal 7.0.
     
  17. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Code:
    
    program Project2;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils;
    
    type
      TMatrixInfo =
      record
        size: array [0..1] of integer;
        desc: string;
      end;
    
      TMatrixes =
        array [0..7] of TMatrixInfo;
    
    
    var bestSolveMemoryVolume: integer;
        bestSolve: TMatrixes;
        matrixSizes: TMatrixes;
    
    
    procedure GenerateSolves(solve: TMatrixes; count: integer; maxMemoryVolume: integer);
    var memoryVolume:integer;
        i, j: integer;
        newSolve: TMatrixes;
    begin
     
      if count=1 then
      begin
        //построение варианта решения - закончено
        //проверяем - лучшее ли оно ?
        if (maxMemoryVolume < bestSolveMemoryVolume) then
          begin
          bestSolveMemoryVolume :=  maxMemoryVolume;
          bestSolve := solve;
          end;
        exit;
      end;
    
      {строим варианты решения}
      for i:=0 to count-2 do
      begin
        for j:=0 to count-2 do
        if(j<i) then
          begin
            //копируем элементы
            newSolve[j].size[0] := solve[j].size[0];
            newSolve[j].size[1] := solve[j].size[1];
            newSolve[j].desc := solve[j].desc;
          end
        else
        if j=i then
          begin
            //имитируем произведение матриц i и i+1
            newSolve[j].size[0] := solve[j].size[0];
            newSolve[j].size[1] := solve[j+1].size[1];
            newSolve[j].desc := '('+solve[j].desc+'*'+solve[j+1].desc+')';
            //счтаем сколько памяти нужено под новую матрицу
            memoryVolume := newSolve[i].size[0]*newSolve[i].size[1];
            if(memoryVolume>maxMemoryVolume) then
                maxMemoryVolume :=memoryVolume;
          end
        else
          begin
            //копируем элементы
            newSolve[j].size[0] := solve[j+1].size[0];
            newSolve[j].size[1] := solve[j+1].size[1];
            newSolve[j].desc := solve[j+1].desc;
          end;
        //если текущее решение уже хуже лучшего, то не продолжаем дальше
        if maxMemoryVolume>bestSolveMemoryVolume then
          exit;
        //моделируем следующее перемножение
        GenerateSolves(newSolve, count-1, maxMemoryVolume);
      end;
     
    end;
    
    
    begin
    matrixSizes[0].size[0] :=5;
    matrixSizes[0].size[1] :=4;
    matrixSizes[0].desc := 'M[5x4]';
    matrixSizes[1].size[0] :=4;
    matrixSizes[1].size[1] :=7;
    matrixSizes[1].desc := 'M[4x7]';
    matrixSizes[2].size[0] :=7;
    matrixSizes[2].size[1] :=3;
    matrixSizes[2].desc := 'M[7x3]';
    matrixSizes[3].size[0] :=3;
    matrixSizes[3].size[1] :=8;
    matrixSizes[3].desc := 'M[3x8]';
    matrixSizes[4].size[0] :=8;
    matrixSizes[4].size[1] :=3;
    matrixSizes[4].desc := 'M[8x3]';
    matrixSizes[5].size[0] :=3;
    matrixSizes[5].size[1] :=7;
    matrixSizes[5].desc := 'M[3x7]';
    matrixSizes[6].size[0] :=7;
    matrixSizes[6].size[1] :=2;
    matrixSizes[6].desc := 'M[7x2]';
    matrixSizes[7].size[0] :=2;
    matrixSizes[7].size[1] :=2;
    matrixSizes[7].desc := 'M[2x2]';
    
    bestSolveMemoryVolume := MaxInt;
    //перебираем все возможные варианты, ищем лучший вариант
    GenerateSolves(matrixSizes, 8, 0);
    
    //рисуем решение
    Writeln(bestSolve[0].desc);
    Writeln('Max matrix: '+ intToStr(bestSolveMemoryVolume) + ' items');
    
    Readln;
    
    end.
    
    
     
    #1117 Algol, 2 Mar 2009
    Last edited: 2 Mar 2009
  18. snAKe33

    snAKe33 Active Member

    Joined:
    10 Feb 2009
    Messages:
    13
    Likes Received:
    169
    Reputations:
    24
    сможет мне помочь кто-нибудь?!
     
  19. Irdis

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

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    snAKe
    на практике используется метод Монте-Карло
    суть
    разбрасываем(случайным образом аля random()) достаточное кол-во точек (чем больше тем лучше) по области, и считаем отношение тех точек что попали в область к тем которые попали в нужное пересечение
    (за область сойдет квадрат достаточных размеров(чем меньше тем лучше))
    (что на что делить объяснять не буду)
    ================
    при каком R вопрос более интересный, ну в общем за +++
    найду, хотя зная основы интегрального исчисления, это не составит труда...
     
    #1119 Irdis, 3 Mar 2009
    Last edited: 3 Mar 2009
    1 person likes this.
  20. /Boom\

    /Boom\ Elder - Старейшина

    Joined:
    14 Feb 2008
    Messages:
    19
    Likes Received:
    2
    Reputations:
    0
    Срочно надо запрограммировать две кнопки.
    Вот исходник
    http://depositfiles.com/files/prd7xllpl
    http://webfile.ru/2996960

    на втором Unit Кнопочки "Удалить" "редактировать"
     
    #1120 /Boom\, 3 Mar 2009
    Last edited: 3 Mar 2009
Thread Status:
Not open for further replies.