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

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

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

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    450
    Reputations:
    288
    полное ТЗ.что за пароль?что конкретно сделал сам?что не получается?
     
  2. Spot

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

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    Телепаты в отпуске.

    Гугл в помощ, первый результат по запросу: перевод из двоично в десятичную c#

    P.S. ЯП не указан - телепаты в отпуске.
    P.P.S. задай вопрос гуглу - четко и кратко.Он тебя поймёт и поможет, показав уже готовые решения.
     
    #3902 Spot, 1 Mar 2012
    Last edited: 1 Mar 2012
  3. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1
    вообщем всё вроде допили только вот не получаеться записаться в файл...
    вот сам исходник
    PHP:
    unit idenity;

    {
    $mode objfpc}{$H+}

    interface

    uses
      Classes
    SysUtilsprocessFileUtilLResourcesFormsControlsGraphics,
      
    DialogsStdCtrls;

    type

      
    TForm2 }

      
    TForm2 = class(TForm)
        
    Button1TButton;
        
    Button2TButton;
        
    Edit1TEdit;
        
    Label1TLabel;
        
    Process1TProcess;
        
    procedure Button1Click(SenderTObject);

        
    procedure Button2Click(SenderTObject);
        
    procedure FormShow(SenderTObject);
      private
             
    cntinteger// количество попыток
             
    passAdminpassUserstring;
             
    rest:integer;
             
    s,cstring//моё
        
    tmp:char;    //моё
        
    len,i:integer;//моё

      
    public
            function 
    getResult:integer;
        { public 
    declarations }
      
    end

    var
      
    Form2TForm2

    implementation

    TForm2 }

    procedure TForm2.Button2Click(SenderTObject);
    begin
      Rest 
    := 3;
      
    close;
    end;

    procedure TForm2.Button1Click(SenderTObject);


    begin
      
    if Edit1.Text passAdmin then
      begin
           Rest 
    := 1;
           
    close;
      
    end;


       if 
    Edit1.Text passUser then
      begin
           Rest 
    := 2;
           
    close;
      
    end
      
    else
      
    begin
        dec
    (cnt);
        
    showMessage('Ошибка при вводе пароля');
        if 
    cnt 0 then
        begin
             Rest 
    := 3;
             
    Process1.ApplicationName := 'lr4.exe';
             
    Process1.Execute;
             
    close;
        
    end;
      
    end;

      
    begin
    case DayOfWeekdate of  // вывод дня из системного времени
          
    1:= 'воскресенье';
          
    2:= 'понедельник';
          
    3:= 'вторник';
          
    4:= 'среда';
          
    5:= 'чтверг';
          
    6:= 'пятница';
          
    7:= 'суббота';
          
    end;               //конец!
    begin
    len
    :=length(s);          //перевод дня наоборот
    for :=1 to (len div 2) do
    begin
      tmp
    :=s[len-i+1];
      
    s[len-i+1]:=s[i];
      
    s[i]:=tmp;            //конец
    end;
    passAdmin := passAdmin s;//обьеденение строк в одну!!
    end;
    {
    begin
        
    // чтение пароля
        
    assignFile(f'pass.txt');//открываем!
        //ReWrite(f); // повторно на запись!
        
    WriteLn(fc);//пишем!
        
    closeFile(f); // закрываем!
      
    end;}
        
    end;
    end;

    procedure TForm2.FormShow(SenderTObject);
    var 
    ftextFile;
        
    denyinteger;
    begin
      cnt 
    := 3;
      
    // чтение реестра
      
    assignFile(f'reg.txt');
      
    reset(f);
      
    readln(fdeny);
      
    closeFile(f);
      if 
    deny 1 then
      begin
        
    // чтение пароля
        
    assignFile(f'pass.txt');
        
    reset(f);
        
    readln(fpassAdmin);
        
    readln(fpassUser);
        
    closeFile(f);
      
    end
      
    else
      
    begin
           ShowMessage
    ('Программа заблокирована');
           
    rest := 3;
           
    halt(0);
      
    end;
    end;
    function 
    TForm2.getResult:integer;
    begin
         getResult 
    := rest;
    end;

    initialization
      
    {$I idenity.lrs}

    end.
     
  4. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1
    есть какие то предложения?
     
  5. Ivan123

    Ivan123 New Member

    Joined:
    21 Nov 2011
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    дак это то понятно) мне можно сказать калькулятор двоичной системы нужен и чтоб мог без проблем все считать, и даже с остатком.
     
  6. Spot

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

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    Так тебе просто калькулятор нужен?Не написать, а использовать?Тогда ТЫЦ
     
  7. Ivan123

    Ivan123 New Member

    Joined:
    21 Nov 2011
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Неет именно написать) и самое главное чтоб я вводил два числа в 10-ой СС(для операций с ними), а он их перевел в 2-ую и вывел на экран эти числа(переведенное), а затем уже производил над ним все действия(в 2-ой СС) сложение, вычитание, умножение и деление.
    Можно самым простейшем способом. главное чтоб я мог сам вводить число, потом прога выводила на экран перевод и осуществляла операции.
     
  8. Spot

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

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    Какой ЯП?+Консоль или GUI ?
     
  9. Ivan123

    Ivan123 New Member

    Joined:
    21 Nov 2011
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    C++ на консоле)
     
  10. R1ze007

    R1ze007 New Member

    Joined:
    7 Mar 2011
    Messages:
    34
    Likes Received:
    0
    Reputations:
    0
    Задача: Прочитать из файла input.txt выражение записанное в постфиксной форме, необходимо записать в файл output.txt в инфиксную форму. Используя стек, библиотеку stdio.h, stdlib.h.

    Вот наброски, но что не идет. А именно:
    Input - ( ( 2 3 ) + 5 * ( 2 3 ) + ) / 6
    Output - ((2+3)*5(2+3)/)6

    Вот моя программа:
    Code:
    #include<stdio.h>
    #define max 16
    
    struct stack {
    	char a[max];
    	char top;
    };
    
    
    //Функция проверки на пустоту
    int empty (struct stack *ps) {
    	if (ps -> top == -1)
    		return 1;
    	else
    		return -1;
    }
    //Функция записи в файл
    void output (struct stack *ps) {
    	int i;
    	FILE *fl;
    	fl=fopen("output.txt", "a");
    	for (i=0; i<max; i++) {
    		fprintf (fl, "%c", ps-> a[i]);
    	}
        printf("\nOK\n");
    }
    
    
    //Функция проверки на полноту
    int full (struct stack *ps) {
    	if (ps -> top == max - 1)
    		return 1;
    	else
    		return -1;
    }
    
    //функция добавления элемента
    void push (struct stack *ps, char x){
    	char y;
    	char tmp;
    	char tmp1;
    	char t;
    	int u;
    	if (x=='+' || x=='-' || x=='*' || x=='/') {
    
    		if (x!='/' && ps-> a[ps->top] == ')' && ps -> a[ps->top-1]!=')') {
    			t = ps -> a[ps->top];
    			tmp1= pop (ps);
    		    printf ("Element %c is delling\n", tmp1);
    }
    
    		y = ps->a[ps->top];
    		tmp = pop (ps);
    		printf ("Element %c is delling\n", tmp);
    
    	ps -> top++;
    	ps -> a[ps -> top] = x;
    	printf ("OK! Element - %c is adding!\n", x);
    
    	ps -> top++;
    	ps -> a[ps -> top] = y;
    	printf ("OK! Element - %c is adding!\n", y);
        
    	if (t==')') {
    	ps -> top++;
    	ps -> a[ps -> top] = t;
    	printf ("OK! Element - %c is adding!\n", t);
    	t=0;
    	}
    		
    	}
    
    	else
    	{
    	ps -> top++;
    	ps -> a[ps -> top] = x;
    	printf ("OK! Element - %c is adding!\n", x);
    	}
    	u=full(ps);
    if (u==1) 
    output (ps);
    	return;
    
    }
    
    
    //Функция удаления элемента
    int pop (struct stack *ps) {
    	ps -> top--;
    	return ps -> a[ps -> top+1];
    }
    
    
    int main () {
    	int tmp;
    	FILE *fp;
    	char i;
    	struct stack c;
    	c.top=-1;
    printf ("Hello! \n");
    fp=fopen("input.txt", "r");
    
    	while (fscanf(fp, "%s", & i)==1) {
    		tmp=empty(&c);
    		if(tmp==1) {
    			push (&c, i);
    		}
    		if (tmp!=1) {
    			push (&c, i);
    		}
    	}
    }
     
  11. Ivan123

    Ivan123 New Member

    Joined:
    21 Nov 2011
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Помогите!))
    Вот есть код для 10-ой СС, но нужно чтоб он умел делать все это же, но с 2-ой следующем образом:

    1) ввожу 9+9 он выводит это на экран как
    9+9=18
    и
    1001+1001=10010
    2) ввожу 9-5 он выводит это на экран как
    9-5=4
    и
    1001-101=100
    3) деление...
    4) умножение...

    И ЕСЛИ не сложно чтоб результат вычислений записывался как в 2-ой так и в 10-ой тоже

    ЗАРАНЕЕ СПАСИБО!

    Code:
    #include <iostream>
    using namespace std;
    int main()
    {
    setlocale(LC_ALL,".1251");
    const int maxCnt=5;
    float a[maxCnt],b[maxCnt],res[maxCnt];
    int cnt=1;
    char zn[maxCnt];
    char answer='y';
    while (answer=='y' || answer=='Y')
    {
    cout<<"Введите переменную: ";
    cin>>a[cnt]>>zn[cnt]>>b[cnt];
    switch(zn[cnt])
    {
    case '+':
    res[cnt]=a[cnt]+b[cnt];
    break;
    case '-':
    res[cnt]=a[cnt]-b[cnt];
    break;
    case '/':
    if (b==0)
    {
    cout<<"Такого оператора не существует"<<endl;
    continue;
    }
    res[cnt]=a[cnt]/b[cnt];
    break;
    case '*':
    res[cnt]=a[cnt]*b[cnt];
    break;
    default:
    cout<<"Такого оператора не существует"<<endl;
    continue;
    }
    cout<<"Result = "<<res[cnt]<<endl;
    if (cnt==maxCnt)
    {
    cout<<"Достигнут лимит вычислений "<<endl;
    break;
    }
    cout<<"Продолжить? [y/n] ";
    cin>>answer;
    cnt++;
    }
    return 0;
    }
    
     
  12. XaKeR-SpAm

    XaKeR-SpAm New Member

    Joined:
    18 Jun 2009
    Messages:
    17
    Likes Received:
    2
    Reputations:
    0
    помогите кому не лень...
    Нужно переписать эту программу с динамическим выделением памяти (malloc, realloc), она была написана со статичесим но преподу не понравилась, а с выделением памяти какая то жопа у меня, напортачил и вообще запутался....

     
  13. _visor_

    _visor_ New Member

    Joined:
    9 Oct 2011
    Messages:
    52
    Likes Received:
    4
    Reputations:
    1

    1001+1001=10010

    1001-101=100
    эти 2 момента не совсем понял \

    бинарно что ли ???
     
    #3913 _visor_, 10 Mar 2012
    Last edited: 11 Mar 2012
  14. _visor_

    _visor_ New Member

    Joined:
    9 Oct 2011
    Messages:
    52
    Likes Received:
    4
    Reputations:
    1


    вот так ) запустил, работает!
    -------------------------------------------------------------
    на будущее вот пример malloc >
    buFfer = (char*) malloc (i+1); //где i=длина
    if (buffer==NULL) бла бла бла

    realloc >
    numbers= (int*) realloc (mubers, count * sizeof(int));
    ----------------------------------------------------------------
     
    2 people like this.
  15. _visor_

    _visor_ New Member

    Joined:
    9 Oct 2011
    Messages:
    52
    Likes Received:
    4
    Reputations:
    1
    ч

    Могу на C++ Сделать )
     
  16. NoMIL

    NoMIL New Member

    Joined:
    25 May 2010
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Надо решить задачку на C++
     
  17. Steep.vovan

    Steep.vovan New Member

    Joined:
    17 Dec 2011
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Всем привет, помогите пожалуйста срочно нужно написать прогу на С++
    вот суть:
    Циклические вычислительные процессы

    задание : Вычислить и вывести на экран в виде таблицы значение F на интервале Xнач до Хкон с шагом dX, значения a,b,c,Xнач,dX ввести с клавиатуры
    a,b и c действительные числа.
    Программа должна содержать простейшее меню, запрашивающее у пользователя о продолжении или завершении работы с программой.

    Формула по которой все расчитывается

    а да и где будет происходить деление 0 на 0 нужно чтобы ошибку выводило а не вылетала прога.
     
    #3917 Steep.vovan, 14 Mar 2012
    Last edited: 14 Mar 2012
  18. Steep.vovan

    Steep.vovan New Member

    Joined:
    17 Dec 2011
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Вообщем с этим я боле менее сам разобрался будет примерно так


    //---------------------------------------------------------------------------

    #pragma hdrstop

    //---------------------------------------------------------------------------

    #pragma argsused
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    double a,b,c,x,x1,x2,dx,F;
    int main(int argc, char* argv[])
    {
    printf("X1= ");
    scanf("%lf",&x1);
    printf("X2= ");
    scanf("%lf",&x2);
    printf("dX= ");
    scanf("%lf",&dx);
    printf("a= ");
    scanf("%lf",&a);
    printf("b= ");
    scanf("%lf",&b);
    printf("c= ");
    scanf("%lf",&c);
    x=x1;
    while(x<x2)
    {
    if(x<5 && c!=0)
    {F=-a*x*x-b; printf("\nx=%7.3lf; F=%7.3lf",x,F);}
    else if(x>5 && c==0)
    {F=(x-a)/x; printf("\nx=%7.3lf; F=%7.3lf",x,F);}
    else printf("\nx=%7.3lf; error ",x);

    else (F=-x/c; printf("\nx=%7.3lf; F=%7.3lf",x,F);

    x=x+dx;
    }
    getch();
    return 0;
    }
    //---------------------------
     
  19. Steep.vovan

    Steep.vovan New Member

    Joined:
    17 Dec 2011
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Назрел новый вопрос с новой задачкой !
    вот суть:

    ""Задана матрица размером N*N и вектор размерности N. Заменить четные столбцы матрицы на заданный вектор. ""
     
  20. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Как-нибудь так:
    Code:
    #include <iostream>
    #include <vector>
    #include <time.h>
    
    int main()
    {
        static const int N = 10;
        std::vector<std::vector<int>> matrix (N, std::vector<int> (N));
        std::vector<int> replace (N);
    
        srand(static_cast<unsigned int>(time(NULL)));
        
        std::cout<<"Vector:"<<std::endl;
        for(std::vector<int>::iterator i = replace.begin(); i != replace.end(); ++i)
        {
            *i = rand() % 10;
            std::cout<<*i<<' ';
        }
    
        std::cout<<std::endl;
    
        std::cout<<"Matrix:"<<std::endl;
        for(std::vector<std::vector<int>>::iterator i = matrix.begin(); i != matrix.end(); ++i)
        {
            for(std::vector<int>::iterator j = (*i).begin(); j != (*i).end(); ++j)
            {
                (*j) = rand() % 10;
                std::cout<<*j<<' ';
            }
            std::cout<<std::endl;
        }
    
    
        for(int i = 0; i < N; i++)
            for(int j = 0; j < N; j++)
                if(j % 2 == 1)
                    matrix[i][j] = replace[i];
    
        std::cout<<std::endl<<std::endl;
        std::cout<<"After transform:"<<std::endl;
    
        for(std::vector<std::vector<int>>::iterator i = matrix.begin(); i != matrix.end(); ++i)
        {
            for(std::vector<int>::iterator j = (*i).begin(); j != (*i).end(); ++j)
            {
                std::cout<<*j<<' ';
            }
            std::cout<<std::endl;
        }
    
    
        std::cin.get();
    
        return 0;
    }
    
    Или можешь на algorithm опираться если циклы в таком виде не нравятся...
     
    _________________________
Thread Status:
Not open for further replies.