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

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

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

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

    Joined:
    14 Sep 2007
    Messages:
    57
    Likes Received:
    8
    Reputations:
    1
    Хакеру необходимо составить программу "KeyGenerator", позволяющую подобрать пароли для запуска программного обеспечения "Программа 1". Известо, что пароль (комбинация нулей и единиц) должен состоять из 2*N разрядов. Верным является такой, у которого сумма первых V цифр равна сумме V последних цифр. Помогите хакеру решить эту несложную задачу.

    До утра ппц горит... Язык или C++ или Pascal или dcc.
    При желании можно и асьму..
     
    #201 Antiakvt, 23 Jan 2008
    Last edited: 23 Jan 2008
  2. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    Code:
    void M_gen_key(char *str,int counter,int Nx2,int V)
    {
    	int i,l1,l2;
    	if(counter<Nx2)
    	{
    		*(str+counter)='0';
    		M_gen_key(str,counter+1,Nx2,V);
    		*(str+counter)='1';
    		M_gen_key(str,counter+1,Nx2,V);
    	}
    	else
    	{   //тупость оправдываемая увеличением суммарного кол-ва тактов
                        // на анализ "умного" перебора хвоста 
    		for(i=0,l1=l2=0;i<V;i++)
    		{
    			l1+=*(str+i)-0x30;
    			l2+=*(str+counter-i-1)-0x30;
    		}
    		if(l1==l2)
    		{
    			*(str+counter)=0;
    			// vivod kuda hochesh
    			// ...........
    		}
    	}
    }
    void CAwsfsfDlg::OnMyGenerate() // обработчик нажатия кнопки
    {
                    char *str;
                    int N=4;
                    int Nx2=N*2;
                    int V=Nx2/2; //тут подкоректируешь если не всегда так
                    str=new char[Nx2];
                    M_gen_key(str,0,Nx2,V);
                    delete[] str;
     
    }
    
    Пользуйся
     
    #202 Delimiter, 23 Jan 2008
    Last edited: 23 Jan 2008
    3 people like this.
  3. Tyc00n

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

    Joined:
    13 Jan 2007
    Messages:
    30
    Likes Received:
    25
    Reputations:
    -1
    1. Присвоить целой переменной h третью от конца цифру в записи положительного целого числа k.
    2. Числа Фибоначчи (fn) определяются формулами
    f0=f1=1; fn=fn-1+fn-2 при n=2, 3, . . .
    Вычислить S – сумму всех чисел Фибоначчи, которые не превосходят 1000.
    3. Из-за нелётной погоды необходимо посадить находящиеся в воздухе (над аэропортом) самолёты разных классов на несколько запасных аэродромов. Каждый из запасных аэродромов в состоянии принять k самолётов класса не выше p, где i – номер аэродрома. Посадить самолеты при условии, что для каждого самолета известно расстояние, которое он может пролететь на имеющемся горючем.
    4. Создать компонент – регулятор громкости звука на компьютере.

    Кто сделает стукните в асю :) Программы школьные :)
     
  4. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    4-я задача :)
    неужели такое в школе дают :D чиста драйвер написать или все таки directX ? :D
    .... или все таки прилинковать winmm.lib?
    ....

    по 1-й
    .... такое даже новичек напишет за 5 сек (насколько я понял условие)

    по 2-й
    возьмешь
    Code:
    long sum (int a1,int a2)
    {
       if(a1+a2<1000)
          return a2+sum(a2,a1+a2);
       else 
          return a2;
    }
    
    
    ...
    printf("Sum=%l",2+sum(1,2));
    
    по 3-й мало параметров для решения!

    но выглядит как олимпиадная задача выдранная из контекста!
    Задача простая агоритм "жадный" на отсортированных массивах(сажаем вначале все самолеты с малым количеством горючего), но вся фишка там что сортировка производится во время ввода данных методом прямой вставки а в другом случае превышение по времени!
     
    #204 Delimiter, 25 Jan 2008
    Last edited: 26 Jan 2008
  5. D=P=CH= MOD=

    D=P=CH= MOD= Elder - Старейшина

    Joined:
    15 Aug 2006
    Messages:
    249
    Likes Received:
    195
    Reputations:
    15
    Нужна помощь!
    Задание такое:
    Матрица А из N стpок и N столбцов размещена в одномерном массиве по строкам. Поменять местами К-й и L-й столбцы матрицы (К и L заданы). Результат напечатать по строкам.

    Написал прогу:

    Code:
    #include "stdafx.h"
    #include <iostream> // for cin/cout
    #include <string> // for string
    
    using namespace std;
    
    int main()
    {
    	// enter data
    	int n;
    	cout << "Enter N: ";
    	cin >> n;
    	cout << "Enter matrix (" << n*n << " numbers):\n";
    	int a[10000]; // matrix by lines
    	for (int i=0; i<n*n; ++i)
    		cin >> a[i];
    	int k, l;
    	cout << "Enter K: ";
    	cin >> k;
    	cout << "Enter L: ";
    	cin >> l;
    
    	// swap k and l columns
    	for (int i=0; i<n; ++i)
    		swap (a[i*n+k-1], a[i*n+l-1]); // swap Matr[i][k] and Matr[i][l]
    
    	// output result
    	cout << "Result:\n";
    	for (int i=0; i<n; ++i)
    	{
    		for (int j=0; j<n; ++j)
    			cout << a[i*n+j] << ' ';
    		cout << '\n';
    	}
    	getchar();
    	getchar();
    
    	return 0;
    }
    
    
    Но забыл, что нужно не вводить числа в матрицу, а случайно генерировать....

    Пример получения случайного числа:
    Code:
    #include <time.h>
    #include <iostream>
    
    srand(time(0));// случайные числа зависят от времени
    A[i][j]=rand()%10; //Случайное число от 0 до 10
    Сделайте, чтобы прога работала с случайной генерацией.
    Просто нет сейчас возможности самому эти коды совместить. Заранее спасибо!
     
  6. D=P=CH= MOD=

    D=P=CH= MOD= Elder - Старейшина

    Joined:
    15 Aug 2006
    Messages:
    249
    Likes Received:
    195
    Reputations:
    15
    код примерно такой:

    Code:
    srand(time(0));
    for(int i=0;i<=n-1;i++)
    {
    *** for(int j=0;j<=n-1;j++)
    *** {
    *** *** massiv[i][j]=rand()%10;//10 диапозон случайных значений (0-10)
    }
    }
    нужно вставить вместо:

    Code:
    nt a[10000]; // matrix by lines
         for (int i=0; i<n*n; ++i)
              cin >> a[i];
         int k, l;
         cout << "Enter K: ";
         cin >> k;
         cout << "Enter L: ";
         cin >> l;
    откомпильте плиз и потестите...
    если что исправьте.
    Спасибо!
     
  7. D=P=CH= MOD=

    D=P=CH= MOD= Elder - Старейшина

    Joined:
    15 Aug 2006
    Messages:
    249
    Likes Received:
    195
    Reputations:
    15
    noobyara Спасибо!
    прозьба не актуальна.
     
  8. Talisman

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

    Joined:
    22 Apr 2006
    Messages:
    400
    Likes Received:
    151
    Reputations:
    80
    лсас, где такую мутню задают?
     
  9. D=P=CH= MOD=

    D=P=CH= MOD= Elder - Старейшина

    Joined:
    15 Aug 2006
    Messages:
    249
    Likes Received:
    195
    Reputations:
    15
    Небольшая прозьба, просто сам че-то неврублюсь пока никак ..
    кроче есть прога, все написано, пашет.. раскрашена цветами.
    По заданию прога выводит 2 матрицы: первая исходная, а вторая с заменой местами двух столбцов. Так вот эти столбцы в первой и второй матрице надо выделить разными цветами, чтобы было видно.

    вот прога:

    Code:
    #include "stdafx.h"
    #include <iostream> // for cin/cout
    #include <string> // for string
    #include <time.h>
    #include <windows.h>
    
    using namespace std;
    
    HANDLE hStdout; 
    int main()
    {	
    	hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
    SetConsoleTextAttribute(hStdout, BACKGROUND_INTENSITY); 
    	int n;
    	SetConsoleTextAttribute(hStdout, 7);
    	cout << "Enter N: ";
    	cin >> n;
    	while(n<=0)
    	{
    	cout << "\nerror N\nEnter N: ";
    	cin >> n;
    	}
    	SetConsoleTextAttribute(hStdout, 3);
        cout << "generate...\n";	
        int a[10000];
        srand(time(0));
    	for (int i=0; i<n*n; ++i)
    	{
    	a[i]=rand()%10;
    	}
    	int k=0, l;
    	SetConsoleTextAttribute(hStdout, 4);
    	cout << "Enter K: ";
    	cin >> k;
    	while(k>n&&k<0)
    	{
    	cout << "\nerror K\nEnter K: ";
    	cin >> k;
    	}
    	SetConsoleTextAttribute(hStdout, 8);
    	cout << "Enter L: ";
    	cin >> l;
    	while(l>n&&l<0)
    	{
    	cout << "\nerror L\nEnter L: ";
    	cin >> l;
    	}
    
    	for (int i=0; i<n; ++i)
    	{
    		for (int j=0; j<+n; ++j)
    			cout << a[i*n+j] << ' ';
    		cout << '\n';
    	}
    		
    
    
    	// swap k and l columns
    	for (int i=0; i<n; ++i)
    		swap (a[i*n+k-1], a[i*n+l-1]); // swap Matr[i][k] and Matr[i][l]
    
    	// output result
    	SetConsoleTextAttribute(hStdout, 6);
    	cout << "Result:\n";
    	SetConsoleTextAttribute(hStdout, 6);
    	for (int i=0; i<n; ++i)
    	{
    		for (int j=0; j<+n; ++j)
    			cout << a[i*n+j] << ' ';
    		cout << '\n';
    	}
    	int x;
    	int i;
    	if (i==k){SetConsoleTextAttribute(hStdout, 18);}
    
    	getchar();
    	getchar();
    
    	return 0;
    }
    Заранее спасибо!
     
  10. Forcer

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

    Joined:
    12 Apr 2007
    Messages:
    321
    Likes Received:
    98
    Reputations:
    12
    Code:
    #include "stdafx.h"
    #include <iostream> // for cin/cout
    #include <string> // for string
    #include <time.h>
    #include <windows.h>
    
    using namespace std;
    
    HANDLE hStdout; 
    int main()
    {	
    	hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
    SetConsoleTextAttribute(hStdout, BACKGROUND_INTENSITY); 
    	int n;
    	SetConsoleTextAttribute(hStdout, 7);
    	cout << "Enter N: ";
    	cin >> n;
    	while(n<=0)
    	{
    	cout << "\nerror N\nEnter N: ";
    	cin >> n;
    	}
    	SetConsoleTextAttribute(hStdout, 3);
        cout << "generate...\n";	
        int a[10000];
        srand(time(0));
    	for (int i=0; i<n*n; ++i)
    	{
    	a[i]=rand()%10;
    	}
    	int k=0, l;
    	SetConsoleTextAttribute(hStdout, 4);
    	cout << "Enter K: ";
    	cin >> k;
    	while(k>n&&k<0)
    	{
    	cout << "\nerror K\nEnter K: ";
    	cin >> k;
    	}
    	SetConsoleTextAttribute(hStdout, 8);
    	cout << "Enter L: ";
    	cin >> l;
    	while(l>n&&l<0)
    	{
    	cout << "\nerror L\nEnter L: ";
    	cin >> l;
    	}
    
    	// Добавление здесь
    	//**************************
    	for (int i=0; i<n; ++i)
    	{
    		for (int j=0; j<n; ++j) {
    			if( j == k - 1)
    				SetConsoleTextAttribute (hStdout, FOREGROUND_BLUE | FOREGROUND_INTENSITY);
    			if( j == l - 1 )
    				SetConsoleTextAttribute (hStdout, FOREGROUND_GREEN | FOREGROUND_INTENSITY); 
    			cout << a[i*n+j] << ' ';
    			if( j == k - 1 || j == l - 1 )
    				SetConsoleTextAttribute(hStdout, 8);
    		}
    		cout << '\n';
    	}
    		
    
    
    	// swap k and l columns
    	for (int i=0; i<n; ++i)
    		swap (a[i*n+k-1], a[i*n+l-1]); // swap Matr[i][k] and Matr[i][l]
    
    	// output result
    	SetConsoleTextAttribute(hStdout, 6);
    	cout << "Result:\n";
    	SetConsoleTextAttribute(hStdout, 6);
    	
    	// Добавление здесь
    	//**************************
    	for (int i=0; i<n; ++i)
    	{
    		for (int j=0; j<n; ++j) {
    			if( j == l - 1 )
    				SetConsoleTextAttribute (hStdout, FOREGROUND_BLUE | FOREGROUND_INTENSITY);
    			if( j == k - 1 )
    				SetConsoleTextAttribute (hStdout, FOREGROUND_GREEN | FOREGROUND_INTENSITY); 
    			cout << a[i*n+j] << ' ';
    			if( j == k - 1 || j == l - 1 )
    				SetConsoleTextAttribute(hStdout, 8);
    		}
    		cout << '\n';
    	}
    	int x;
    	int i;
    	if (i==k){SetConsoleTextAttribute(hStdout, 18);}
    
    	getchar();
    	getchar();
    
    	return 0;
    }
    
     
    1 person likes this.
  11. criz

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

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Можно еще и так :)
    Code:
    for (i=0; i<n; ++i)
    	{
    		for (int j=0; j<+n; ++j)
    		{
    			if (j == k-1 || j == l-1)
    				SetConsoleTextAttribute(hStdout, 4);
    			else
    				SetConsoleTextAttribute(hStdout, 6);
     			cout << a[i*n+j] << ' ';
    		}
    		cout << '\n';
    	}
    
     
    1 person likes this.
  12. dro3zzd

    dro3zzd New Member

    Joined:
    9 Feb 2008
    Messages:
    1
    Likes Received:
    1
    Reputations:
    0
    Алгоритм RSA: проблема нахождения открытой экспоненты. (Visual Basic 6.0)

    Мне нужно выбрать любое целое число, которое было бы больше единицы и меньше данного и которое было бы взаимно простым с этим данным (выбор числа e при реализации алгоритма шифрования RSA - http://ru.wikipedia.org/wiki/Rsa). Никак не могу понять, как это сделать, точнее как это именно записать кодом.

    Буду очень признателен за помощь. Заранее Благодарю!
     
    1 person likes this.
  13. Jes

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

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    http://www.example-code.com/vb/rsa.asp

    тема переезжает в лаботрторные ...
     
    1 person likes this.
  14. ph0en1x

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

    Joined:
    14 Jun 2006
    Messages:
    29
    Likes Received:
    2
    Reputations:
    0
    Лаба

    Помогите с лабораторкой:
    Задание А:
    Создать два файла, содержащих сведения о десяти нападающих хоккейных команд "Динамо" и "Спартак"
    соответсвенно: имена нападающих, число заброшеных шайб, сделанные голевые передачи, заработанное штрафное время.

    Задание Б: написать программу, которая по данным, извлечённым из этих файлов, создаёт новый третий файл, содержащий имя, команду, сумму очков(голы+ передачи) для шести лучших игроков обеих команд.
    Имена и показатели результативных хоккеистов вывести на экран.

    Язык С++.
     
  15. St0nX

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

    Joined:
    19 May 2007
    Messages:
    257
    Likes Received:
    46
    Reputations:
    0
    А
    Code:
    #include<stdio.h>
    
    void main(void)
    {
    FILE *file1;
    FILE *file2;
    char ab[]="";
    int i = 1;
    file1 = fopen( "Dinamo.txt", "w" );
    file2 = fopen( "Spartak.txt", "w" );
    printf("Dinamo \n");
    while(i!=11)
    {
    printf("Igrok - %d\n",i);
    printf("Name: ");
    scanf("%s \n",ab);
    fputs( ab, file1 );
    fputs( "\r\n", file1 );
    printf("Shaibi: ");
    scanf("%s \n",ab);
    fputs( ab, file1 );
    fputs( "\r\n", file1 );
    printf("Peredachi: ");
    scanf("%s \n",ab);
    fputs( ab, file1 );
    fputs( "\r\n", file1 );
    printf("Straf: ");
    scanf("%s \n",ab);
    fputs( ab, file1 );
    fputs( "\r\n", file1 );
    i++;
    }
    printf("================================================== \n");
    printf("Spartak \n");
    i=1;
    while(i!=11)
    {
    printf("Igrok - %d\n",i);
    printf("Name: ");
    scanf("%s \n",ab);
    fputs( ab, file1 );
    fputs( "\r\n", file2 );
    printf("Shaibi: ");
    scanf("%s \n",ab);
    fputs( ab, file1 );
    fputs( "\r\n", file2 );
    printf("Peredachi: ");
    scanf("%s \n",ab);
    fputs( ab, file1 );
    fputs( "\r\n", file2 );
    printf("Straf: ");
    scanf("%s \n",ab);
    fputs( ab, file1 );
    fputs( "\r\n", file2 );
    i++;
    }
    fclose( file1 );
    fclose( file2 );
    }
    извеняюсь за кривость
     
    1 person likes this.
  16. FORCE

    FORCE New Member

    Joined:
    12 Feb 2008
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Эта программа переводит футы и дюймы в метры и сантиметры. В метры переводятся правильно, а сантиметры отображаются отрицательным
    числом. В чём ошибка? :confused:
    Формат ввода:
    12F 23D
    (F-футы D-дюймы)
    А выводит примерно так:
    12M -23SM

    код C++


    Code:
    #include <conio.h>
    #include <iostream.h>
    int main()
    {
    double d,c,f;
    int l,k,s,t,b;
    int z;
    char m[10];
    double y;
    char x[10];
    double h;
    printf("vvedite  | **  , gde | -luboe chislo, **-F,D,M,SM\n");
    k=scanf("%lf %s", &y, m);
    t=scanf("%lf %s", &h, x);
    if (strcmp(m,"F")==0)
    if (strcmp(x,"D")==0){
    c=y*0.3048;
    d=h*2.54/100;
    f=c+d;
    l=(int)f;
    z=(l-f)*100;
    cout << "\n " << l<<"M  "<<z<<"SM";
    getch();
    }
    }
     
  17. St0nX

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

    Joined:
    19 May 2007
    Messages:
    257
    Likes Received:
    46
    Reputations:
    0
    Программа не правильно переводис в СМ даже если бы было "+" а так если у тебя проблема именно в "-"

    Code:
    z=(f-l)*100;
    и будет тоже самое токо с "+"
     
  18. Maxyks

    Maxyks Banned

    Joined:
    8 Sep 2007
    Messages:
    174
    Likes Received:
    288
    Reputations:
    20
    Code:
    c=y*0.3048;
    d=h*2.54;
    cout << "\n" << c<<"M  "<<d<<"SM";
    vvedite | ** , gde | -luboe chislo, **-F,D,M,SM
    12F 23D

    3.6576M 58.42SM

    переводит правильно.. что ты намудрить пытаешься?
     
  19. xxxxxxxxxxxxxxx

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

    Joined:
    20 Jan 2008
    Messages:
    66
    Likes Received:
    8
    Reputations:
    0
    кто может написать прогу которая умножает число из 500 знаков на любое введенное с клавиатуры число?
    с++
     
    #219 xxxxxxxxxxxxxxx, 19 Feb 2008
    Last edited: 19 Feb 2008
  20. A2GIL

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

    Joined:
    31 Aug 2007
    Messages:
    84
    Likes Received:
    59
    Reputations:
    -3
    На каком Языке?
     
Thread Status:
Not open for further replies.