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

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

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

    A1exx New Member

    Joined:
    8 Feb 2009
    Messages:
    24
    Likes Received:
    4
    Reputations:
    0
    Ахах,это-то я знаю)) не настолько ватакат,надо окошко с полем ввода создать((( где пишет введите пароль ты вводишь в ето окошко)
     
  2. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    на, на си переведешь спокойно.

    Code:
    ;This program was created on assembler editor
    .486
    .model flat,stdcall
    option casemap:none
    WinMain proto :DWORD,:DWORD,:DWORD,:DWORD
    include include\windows.inc
    include include\user32.inc
    include include\kernel32.inc
    
    
    includelib lib\user32.lib
    includelib lib\kernel32.lib
    
    .data
    
    ClassName db "SimpleWinClass",0
    MenuName db "FirstMenu",0
    
    ButtonClassName db "button",0
    EditClassName db "edit",0
    
    pswrd db 'ватакат',0
    ButtonText2 db ' ',0
    r db 'Пароль введен верно',0
    r2 db 'не верно',0
    .data?
    buf db 256 dup (?)
    hInstance HINSTANCE ?
    CommandLine LPSTR ?
    hwndButton HWND ?
    hwndEdit HWND ?
    
    .const
    ButtonID equ 1
    EditID equ 4
    
    .code
    start:
    
    	invoke GetModuleHandle, NULL
    	mov    hInstance,eax
    	invoke GetCommandLine
    	mov CommandLine,eax
    	invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT
    	 invoke ExitProcess,eax
    
    	
    	WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
    	.IF uMsg==WM_DESTROY
    		invoke PostQuitMessage,NULL
    	.ELSEIF uMsg==WM_CREATE
    	
    	         
    [COLOR=Red]		invoke CreateWindowEx,WS_EX_CLIENTEDGE, ADDR EditClassName,NULL,WS_CHILD or WS_VISIBLE or WS_BORDER or ES_LEFT or ES_AUTOHSCROLL,12,18,160,25,hWnd,EditID,hInstance,NULL[/COLOR]
    		mov  hwndEdit,eax
    		invoke SetFocus, hwndEdit
    
    
    		
    		[COLOR=Red]invoke CreateWindowEx,NULL, ADDR ButtonClassName,ADDR ButtonText2,WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON,15,100,160,35,hWnd,ButtonID,hInstance,NULL[/COLOR]
    		mov  hwndButton,eax
    
    
    
    
            .ELSEIF uMsg==WM_COMMAND
    		mov eax,wParam
    		.IF lParam==0
    
    		.ELSE
    		
    
    		            .IF ax==ButtonID
    				shr eax,16
    				.IF ax==BN_CLICKED
    				
                                 [COLOR=Red]invoke GetWindowText,hwndEdit,addr buf,512
                                 mov esi,addr buf
                                 mov edi,offset pswrd
                                 invoke lstrcmpi,esi,edi
                                 .IF eax==0
                                 invoke MessageBox,0,addr r,0,0
                                 .ELSE
                                 invoke MessageBox,0,addr r2,0,0[/COLOR]
                                 
                                 .ENDIF
       	                     .ENDIF
                                 .ENDIF
                                 .ENDIF
    
    
     .ELSE
    		invoke DefWindowProc,hWnd,uMsg,wParam,lParam
    		ret
     .ENDIF
    	xor    eax,eax
    	ret
    WndProc endp
    
    WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD
    	LOCAL wc:WNDCLASSEX
    	LOCAL msg:MSG
    	LOCAL hwnd:HWND
    	mov   wc.cbSize,SIZEOF WNDCLASSEX
    	mov   wc.style, CS_HREDRAW or CS_VREDRAW
    	mov   wc.lpfnWndProc, OFFSET WndProc
    	mov   wc.cbClsExtra,NULL
    	mov   wc.cbWndExtra,NULL
    	push  hInst
    	pop   wc.hInstance
    	mov   wc.hbrBackground,COLOR_BTNFACE+1
    	mov   wc.lpszMenuName,OFFSET MenuName
    	mov   wc.lpszClassName,OFFSET ClassName
    	invoke LoadIcon,NULL,IDI_APPLICATION
    	mov   wc.hIcon,eax
    	mov   wc.hIconSm,eax
    	invoke LoadCursor,NULL,IDC_ARROW
    	mov   wc.hCursor,eax
    	invoke RegisterClassEx, addr wc
    	INVOKE CreateWindowEx,WS_EX_CLIENTEDGE,ADDR ClassName,NULL,\
               WS_SYSMENU,CW_USEDEFAULT,\
               CW_USEDEFAULT,200,200,NULL,NULL,\
               hInst,NULL
    	mov   hwnd,eax
    	INVOKE ShowWindow, hwnd,SW_SHOWNORMAL
    	INVOKE UpdateWindow, hwnd
    	.WHILE TRUE
                    INVOKE GetMessage, ADDR msg,NULL,0,0
                    .BREAK .IF (!eax)
                    INVOKE TranslateMessage, ADDR msg
                    INVOKE DispatchMessage, ADDR msg
    	.ENDW
    	mov     eax,msg.wParam
    	ret
    WinMain endp
    
    
    
    
    end start
     
    #3662 DooD, 12 Nov 2011
    Last edited: 12 Nov 2011
  3. R1ze007

    R1ze007 New Member

    Joined:
    7 Mar 2011
    Messages:
    34
    Likes Received:
    0
    Reputations:
    0
    Задача:
    С клавиатуры вводим символьную строку. Если исходная строка не содержит цифр (то есть по таблице ANCII символов 48-57), то она считается не зашифрованной. Необходимо заменить все символы с кодами 33-99 на их двузначные коды.

    Вот накидал программу:
    не могу сообразить как сделать замену кода на двузначный. Может кто подсказать?
     
  4. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Напиши типа:
    Code:
    #include <iostream>
    #include <string>
    #include <bitset>
    
    using namespace std;
    
    int main()
    {
        string input;
    
        cout<<"Your string: ";
        getline(cin, input);
    
        for(string::iterator i = input.begin(); i != input.end(); i++)
        {
            if(*i >= '0' && *i <= '9')
                cout<<bitset<4>(*i);
            else
                cout<<*i;
        }
    
        cin.get();
        return 0;
    }
    
     
    _________________________
  5. R1ze007

    R1ze007 New Member

    Joined:
    7 Mar 2011
    Messages:
    34
    Likes Received:
    0
    Reputations:
    0
    Ошибку выводит, что eh.h for C++, а мне надо на С
     
  6. A1exx

    A1exx New Member

    Joined:
    8 Feb 2009
    Messages:
    24
    Likes Received:
    4
    Reputations:
    0
    Спасибо,но честно скажу,хз как...
     
  7. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    я тебе нужные апишки цветом выделил,гугли.
     
  8. R1ze007

    R1ze007 New Member

    Joined:
    7 Mar 2011
    Messages:
    34
    Likes Received:
    0
    Reputations:
    0
    Задача:
    С клавиатуры вводим символьную строку. Если исходная строка не содержит цифр (то есть по таблице ANCII символов 48-57), то она считается не зашифрованной. Необходимо заменить все символы с кодами 33-99 на их двузначные коды.
     
  9. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Code:
    #include <stdio.h>
    #include <conio.h>
    
    #define STR_SIZE 80
    #define STR_SIZE_S "80"
    
    int main()
    {
        char input[STR_SIZE + 1];
        int i, j, do_decrypt = 0;
        
        printf("Your string: ");
        
        if(scanf("%" STR_SIZE_S "[^\n]", input) != 1)
        {
            printf("Empty string\n");
            return 1;
        }
    
        for(i = 0; i < STR_SIZE && input[i] != 0; i++)
        {
            if(input[i] >= '0' && input[i] <= '9')
            {
                do_decrypt = 1;
                break;
            }
        }
        
        for(i = 0; i < STR_SIZE && input[i] != 0; i++)
        {
            if(input[i] >= 33 && input[i] <= 99 && do_decrypt)
            {
                for(j = 128; j > 0; j /= 2)
                    printf("%c", input[i] & j ? '1' : '0');
            }
            else
            {
                printf("%c", input[i]);
            }
        }
        
        getch();
    
        return 0;
    }
    
     
    _________________________
    #3669 Kaimi, 13 Nov 2011
    Last edited: 13 Nov 2011
  10. R1ze007

    R1ze007 New Member

    Joined:
    7 Mar 2011
    Messages:
    34
    Likes Received:
    0
    Reputations:
    0
    Kaimi не идет. Допустим ввожу слово Hello! оно должно же вывести, если следовать таблице ANCII, 72ello33. А выводит неизвестно что. Пробовал разобраться но не поулчается.
     
  11. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Тогда надо учиться задания составлять. Таблицы под названием "ANCII" не существует, это видимо твое личное изобретение. Ты в задании указывал, что надо заменять на двоичные коды, двоичный код - это, например, 10101. А ты приводишь в пример, где некоторые символы просто заменены на их ASCII коды.
    Причем, судя по твоей формулировке, заменять надо только если строка содержит цифры. Если заменять в любом случае символы, которые находятся в диапазоне 33-99, то непонятно нафига вообще нужна первая часть задачи.
     
    _________________________
  12. little_Kate

    little_Kate New Member

    Joined:
    13 Nov 2011
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Программа на с++

    помогите, пожалуйста, с задачей:
    Дан массив целых чисел, содержащий n элементов. Получить массив, в котором записаны сначала все положительные числа, затем все отрицательные числа и нули, сохраняя порядок следования.
    ввод массива написала,дальше-в затупе..
    #include "stdafx.h"
    #include <tchar.h>
    #include <iostream>
    using namespace std;
    int _tmain(int argc, _TCHAR* argv[])
    {
    register int *m1,n,x;

    cout<<"vvedite razmer massiva:"; //вводим размеры массива
    cin>>n;
    m1 = new int[n];
    for(x=1;x<=n;x++)
    {
    cout<<"vvedite "<<x<<" element massiva:";
    cin>>m1[x];




    return 0;
    }
     
  13. w1spo

    w1spo New Member

    Joined:
    15 Jul 2011
    Messages:
    0
    Likes Received:
    4
    Reputations:
    0
    Вычислить, используя операторы условия

    [​IMG]
    не могу решить, т.к не знаю синтаксиса, на паскале такую сделал бы за 10 минут не более, Помогите кто может
     
  14. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    Code:
    #include <conio.h>
    #include <iostream.h>
    
    int main()
    {
    int m[100],z[100],n,i,x;
    clrscr();
    x=0;
    cout<<"Input length of massiv =";
    cin>>n;
    for (i=1;i<=n;i++)
       {
       cout<<"Input mas["<<i<<"]=";
       cin>>m[i];
       }
    cout<<"massiv:"<<endl;
    for (i=1;i<=n;i++)
       {
       cout<<m[i]<<endl;
       }
    for (i=1;i<=n;i++)
       {
       if (m[i]>0)
         {
         z[x]=m[i];
         x=x+1;
         }
       }
    for (i=1;i<=n;i++)
       {
       if (m[i]<0)
         {
         z[x]=m[i];
         x=x+1;
         }
       }
    for (i=1;i<=n;i++)
       {
       if (m[i]=0)
         {
         z[x]=m[i];
         x=x+1;
         }
       }
    cout<<"New massiv:"<<endl;
    for (i=1;i<=n;i++)
       {
       cout<<z[i]<<endl;
       }
    getch();
    }
    Не компилировал, писал в блокноте
     
    _________________________
  15. A1exx

    A1exx New Member

    Joined:
    8 Feb 2009
    Messages:
    24
    Likes Received:
    4
    Reputations:
    0
    Простой вопрос: С++
    что проще реализовать чайнигу и по чему из тем больше инфы и алгоритмов.
    1)программа сравнения двух cpp файлов
    2)архиватор файлов и каталогов
    3)парсер html-тегов а точнее подсветка их,как в редакторах
    4)реализация на QT проги рисования функций на плоскости бесконечной и конечной
     
  16. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    Я бы изо всего 3 выбрал. Самое простое имхо. Пара строк кода.
     
    _________________________
  17. juzam

    juzam New Member

    Joined:
    18 Oct 2010
    Messages:
    45
    Likes Received:
    2
    Reputations:
    0
    Можно подробней о первом пункте?
     
  18. A1exx

    A1exx New Member

    Joined:
    8 Feb 2009
    Messages:
    24
    Likes Received:
    4
    Reputations:
    0
    Врятли мало кода,используется ООП,это курсач.
    2juzam:
    сделать программу,которая сравнит два cpp файла,пропарсит их,и выведет в текстоквый файл различие в них-например первый файл отличается несколькими переменными и несколькими классами,которых нет во втором cpp..
     
  19. juzam

    juzam New Member

    Joined:
    18 Oct 2010
    Messages:
    45
    Likes Received:
    2
    Reputations:
    0
    Да бери то, что тебе интересно, разберешься. Хотя, я бы тоже выбрал хтмл-парсер, по проще будет.
     
  20. DooD

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    я бы выбрал 2.е я думаю материала много,да и все остальное как то уныло.
     
Thread Status:
Not open for further replies.