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

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

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

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

    Joined:
    15 Dec 2006
    Messages:
    177
    Likes Received:
    57
    Reputations:
    7
    Использование структур.
    Использование строк.
    С++
    Благодарю заранее.
     
  2. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    1.

    Code:
    struct Student {
    private :
    	string LastName;
    	int GroupNum;
    	int Point;
    	int Subj[5];
    public : 
    	/*
    	 Student();
    	
    	 Геттеры и сеттеры
    
    	 void SetLastName(string inLastName);
    	 void SetGroupNum(int inGroupNum);
    	 void SetPoint(int inPoint);
    	 void SetSubj(int inSubj[5]);
    	 string GetLastName(Student inStudent);
    	 int GetGroupNum(Student inStudent);
    	 int GetPoint(Student inStudent);
    	 int GetSubj(Student inStudent);
    
    	 void display(Student inStudent);
    	 */
    };
    
    /*
    Student::Student() {
    	LastName = "";
    	GroupNum = 100;
    	Point = 0;
    	Subj[5] = {0, 0, 0, 0, 0};
    }
    */
    
    /* Отображение информации о студенте
    
    void display(Student inStudent) {
    	cout << inStudent.GetLastName() << " " <<
    		    inStudent.GetGroupNum() << endl;
    }
    */
    
    
    int main () {
    
    	// Получаем или заводим данные о студентах (массив структур) Student Students[N]
    	// Получаем дисциплину для выбора студентов (у нее есть номер, которому соответствует 
    	//                                           позиция в Subj[5]) пусть это номер p 
    	// Заводим новый массив пустой массив студентов. Student StudentsOk[N]
    	// Для студентов с нужной нам дисциплиной.
    
    	int k = 0;
    	for (int i=0; N; i++) { // Где N - количество студентов 
    		if (Students[i].GetSubj[p]())
    			StudentsOk[k] = Students[i];
    
    		if (k > 3) { // Если студентов больше 4, сортируем массив подходящих студентов
    				Student temp;
    			for (int j=0; N-1; j++) {
    				for (i=0;N-1;i++) {
    					if (StudentsOk[i].GetPoint()> StudentsOk[i+1].GetPoint()) {
    						temp = StudentsOk[i];
    						StudentsOk[i] = StudentsOk[i+1];
    						StudentsOk[i+1] = temp;
    					}}}
    			for (i=0; 4; i++) 
    				StudentsOk[i].display(); 
    		}
    					// Если их меньше 4, выводим
    		else 
    			for (i=0; k; i++) 
    				StudentsOk[i].display(); 
    
    2.

    Code:
    // Наша строка - Str
    	
    	int p,min=0; 
    	int k=0; // С его помощью посчитаем количесвто подстрок
    	int Min[strle(Str)]={0}; // С его - самое короткое слово
    	
    for (int i=0; strlen(Str); i++) {
    	if (s[i]!=',') {
    		if (s[i]!=' ') 
    			Min[p]++; 
    		else p++ 
    		} 
    	else k++; }
    	
    	for (i=0; p; i++) 
    		if (Min[i]<min) min=Min[i];
    	
    		// Осталось только рассмотреть крайнии случаи, когда запятые по краям
    	
    		cout << "Количество подстрок: " << k+1 << endl; 
    		cout << "Длина самого короткого слова: " << min;
    
    Писал прям здесь, поэтому криво, но думаю, что главное идея, остальное сам добавишь.
     
    #1462 Fata1ex, 29 May 2009
    Last edited: 29 May 2009
  3. oleandr

    oleandr New Member

    Joined:
    27 Apr 2009
    Messages:
    6
    Likes Received:
    2
    Reputations:
    -1
    ап хотя бы просто объясните как это проделать
     
  4. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    Я конечнно понимаю, что задача именно в изучении формулы тейлора, но:

    1. x87 FPU считает cos за одну комманду
    2. Ассемблер не лучший язык для написания формулы тейлора.
     
  5. oleandr

    oleandr New Member

    Joined:
    27 Apr 2009
    Messages:
    6
    Likes Received:
    2
    Reputations:
    -1
    да уж преподу это скажи моему :) дал такое задание нуна написать к понедельнику, сдам и у меня как раз будет балов чтобы не сдавать экзамен ))
     
  6. megapr3v3d

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

    Joined:
    1 Oct 2007
    Messages:
    52
    Likes Received:
    1
    Reputations:
    0
    Помогите составить блок-схемы для подпрограмм - Метод Дихотомия и Метод Трапеций

     
  7. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    как вариант написать на си и дать асм-листинг
     
  8. new-sl

    new-sl New Member

    Joined:
    27 May 2009
    Messages:
    46
    Likes Received:
    0
    Reputations:
    -1
    я навичок но вот тут немнога попробывал низнаю получилось ли или нет
    кроме проверки на уже имеюшися слова чтоби небило пофторени ешё незделал но ето легко осуществить с помошю функции поиска в самам нису кода а так вроде всё зделал осталось тока преукрасить меню и всё такое

    Code:
    #include <iostream>
    #include <string>
    #include <vector>
    #include <fstream>
    #include <direct.h>
    #include<io.h>
    #include<sys/types.h>
    #include<sys/stat.h>
    
    
    
    
    
    using namespace std;
    
    class Translate
    {
    public:
    	Translate();
    	Translate(wstring Rus, wstring Engl);
    	Translate(const Translate&rhs);
    	~Translate();
    	//Set
    	
    	void SetRus(wstring Rus);
    	void SetEngl(wstring Engl);
    	
    
    	//Get
    
    	wstring GetRus()const;
    	wstring GetEngl()const;
    	int GetRusLenght()const{ int Lenght=Rus.length(); return Lenght;}
    	
    
    
    	Translate &operator=(const Translate&rhs);
    
    private:
    
    wstring Rus ;
    wstring Engl;
    
    
    
    };
    
    
    
    Translate::Translate (){
    Rus='0';
    Engl='0';
    
    
    }
    
    
    Translate::Translate(std::wstring Rus,std::wstring Engl):
    Rus (Rus),
    Engl(Engl)
    
    
    {}
    
    Translate::Translate(const Translate &rhs):
    Rus(rhs.GetRus()),
    Engl(rhs.GetEngl())
    
    {}
    
    Translate::~Translate()
    {}
    
    void Translate::SetRus(std::wstring rus)
    {
    	Rus=rus;
    }
    
    
    void Translate::SetEngl(std::wstring engl)
    {
    	Engl=engl;
    }
    
    
    
    wstring Translate::GetRus() const
    {
    	return Rus;
    }
    
    wstring Translate::GetEngl() const
    {
    	return Engl;
    }
    
    
    
    Translate&Translate::operator =(const Translate &rhs)
    {
    	Rus=rhs.GetRus();
    	Engl=rhs.GetEngl();
    	
    	return *this;
    }
    
    typedef vector<Translate> T;
    
    
    
    //Funktionen
    
    template <class T>
    void Translater ( vector<T>&v,Translate&Transl);
    template <class T>
    void Add( vector<T>&v,Translate&Transl);
    template <class T>
    void Remove ( vector<T>&v,Translate&Transl);
    template <class T>
    void Change( vector<T>&v,Translate&Transl);
    template <class T>
    void ShawAll(vector<T>&v,Translate&Transl);
    template <class T>
    void FileExist(vector<T>&v,Translate&Transl);
    template <class T>
    int Search (vector<T>&v,Translate&Transl);
    int main ()
    {
    locale loc("russian_Russia.1251"); 
    locale::global(loc); 
    wcin.imbue(locale(".866")); 
    	
    
    	T v;
    	Translate Transl;
    	char choice;
    	bool Quite=true;
    	ifstream fin;
    	bool result=false;
    
    
    	FileExist(v,Transl);
    	
    
    	
    		
    	
    
    		
    for(;Quite;)
    	{
    		
    		cout <<"\n\n\t\t******************Translater**********************\n\n";
    		cout <<"\t\t+++++В переводчике ";
    			
    		if(v.size()>1)
    			cout <<"находятся "<<v.size()<<" Записеи\n";
    		else
    			cout<<"находится "<<v.size()<<" Запись \n";
    
    		
    		wcout <<"\n    **(1)Add***(2)Translate***(3)Change***(4)Remove***(5)ShawAll***(0)Quite**\n";
    		cout <<"\nчто вы хотите делать ?\n";
    		wcout<<"\n";
    		
    		
    		cin>>choice;
    		
    		cout <<endl;
    
    		switch(choice)
    		{
    		case '1':  Add(v,Transl);
    			break;
    		case '2': Translater(v,Transl);
    				  
    			break;
    		case '3':
    			break;
    		case '4':
    				break;
    		case '5':ShawAll(v,Transl);
    			break;
    
    		case '0': Quite=false;
    			break;
    		
    		default: 
    			{
    			cout <<"Error\n";
    			continue;
    			break;}
    		}
    		wofstream fout;
    		wofstream sout;
    	  
    	fout.open("C:\\Translater 1.0\\Translater.txt");
    	int q;
    	 for ( q = 0; q <v.size(); q++)
    	  {
    		
    		  
    		 int itsLenght=v[q].GetRusLenght();
    		 if(itsLenght>9)
    		 fout<<v[q].GetRus()<<"\t\t\t"<<v[q].GetEngl()<<endl;
    		 else
    		  fout<<v[q].GetRus()<<"\t\t\t\t"<<v[q].GetEngl()<<endl;
    
    		
    	 } 
    	 
         
    }
    	
    
    
    return 0;
    
    }
    
    template <class T>
    
    void Add (std::vector<T>&v,Translate&Transl)
    {
    
    wstring Rus,Engl;
    wcout<<L"Введи слово"<<endl; 
    wcin>>Rus; 
    wcout<<Rus<<endl;
    
    cout<<" Enter the word\n";
    wcin>>Engl;
    
       Transl.SetRus(Rus); 
       Transl.SetEngl(Engl); 
      
       v.push_back(Transl); 
     
    
    
    }
    
    
    template <class T>
    void FileExist(vector<T>&v,Translate&Transl)
    {
    
    	
    	string strPath="c:\\Translater 1.0";
    
    cout<<strPath ;
    
        if ( access( strPath.c_str(), 0 ) == 0 )
        {
            struct stat status;
            stat( strPath.c_str(), &status );
    
            if ( status.st_mode & S_IFDIR )
            {
                cout << " Папака была заведена " << endl;
            }
            else
            {
                cout << " ето File " << endl;
            }
        }
        else
        {
         cout << " Папка несуществует, папка\n";
    	 cout<<strPath<<" будет заведена... " << endl;
        _mkdir("C:\\Translater 1.0");
       }
    
    
    	wifstream fin;
    	
    	
    	fin.open("C:\\Translater 1.0\\Translater.txt" );
    	if(fin)
    	
    {
    	cout<<"Фаил Translater.txt был наиден , читается .......\n";
    	
    
    	
         int i=0;	 
    	
    		
    		wchar_t rus[100];
    		wchar_t engl[100];
    		
    		for(;fin;)
    		
    		{
    
    
    
    	fin>>rus;
        wstring Rus(rus);
    	fin>>engl;
    	wstring Engl(engl);
    
    	
    
    	Transl.SetRus(Rus);
    	Transl.SetEngl(Engl);
    	v.push_back(Transl);
    	
    	
    		
    }
    	   
    v.erase(v.end()-1,v.end());  // because for(;fin;) 
    	   
    
    	
    }
    	
    	else
    		cout <<"Фаил Translater.txt был ненаиден\n";
    }
    
    
    template <class T>
    void ShawAll(vector<T>&v,Translate&Transl)
    {
    	
    	for(int i=0;i<v.size();i++)
    	{
    		wcout <<"Rus: "<<v[i].GetRus() ;
    		int itsLenght=v[i].GetRusLenght();
    		
    		if(itsLenght==1||itsLenght==2)
    		wcout <<"\t\t\t\tEngl: "<<v[i].GetEngl()<<endl;
    		else
    		{
    		
    			if(itsLenght>10)
    		wcout <<"\t\tEngl: "<<v[i].GetEngl()<<endl;
    			else
    			
    		wcout <<"\t\t\tEngl: "<<v[i].GetEngl()<<endl;
    		
    		}
    
    		
    		
    		
    		
    	}
    }
    
    
    template <class T>
    void Translater( vector<T>&v,Translate&Transl)
    {
    wstring Rus,Engl;
    wchar_t choice;
    cout<<"*** (1)Rus->Engl******** (2) Engl->Rus***\n";
    wcin>>choice;
     
    int i=0;
    switch (choice)
    {
    
    	
    case '1':{ 
    	
    	
    	wcin>>Rus;
    	if(Search (v,Transl,Rus)!=-1)
    	{
    	i=Search (v,Transl,Rus);
    	cout <<"English \n";
        wcout<<v[i].GetEngl()<<endl;
    	}
    	else 
    		cout<<"Error\n";
    	
    		
    	
    
    		
    	
    	
    		
    	
    		}
    
    	break;
    case '2': 
    {
    	wcin>>Engl;
    	if(Search (v,Transl,Engl)!=-1)
    	{
    	i=Search (v,Transl,Engl);
    	cout <<"Russian \n";
        wcout<<v[i].GetRus()<<endl;
    	}
    	else 
    		cout<<"Error\n";
    
    }	
    
    	
    
    }
    
    }
    
    
    
    
    
    
    template <class T>
    int Search (vector<T>&v,Translate&Trransl,wstring Lang)
    {
    	
    		int i,q;
    		for(i=0;i!=v.size();++i)
    		{
    			
    			if((v[i].GetRus()==Lang)||(v[i].GetEngl()==Lang))
    			{
    			  return i;
    			}
    			
    				
    			
    
    			
    		}
    
    		
    	return -1;
    
    }
    
     
    #1468 new-sl, 30 May 2009
    Last edited: 30 May 2009
  9. oleandr

    oleandr New Member

    Joined:
    27 Apr 2009
    Messages:
    6
    Likes Received:
    2
    Reputations:
    -1
    2scrat проасемблировал первое, там боллее новый асм и код какой то замутный я еще ламер что бы в нем разобраться))
     
  10. Debian

    Debian New Member

    Joined:
    29 Aug 2007
    Messages:
    20
    Likes Received:
    1
    Reputations:
    0
    ребят, очень нужно сотворить программу на делфи. может кто то помоч в написании? курс горит(((((

    программа поиска экстремумов функции одной перменной методом квадратичной интерполяции-экстраполяции

    функции и элементы интерфейса программы:
    1) заставка
    2) контроль ввода данных
    3) меню:
    1.справочная система:
    -постановка задачи с описанием метода решения
    -инструкция по использованию программы (для пользователя и контрольный пример)
    -о программе
    2. контрольный пример-реализация
    3.ввод новых данных в файл
    4. чтение и выборка данных из этого файла
    5. вывод результата в отдельном окне
    6. графическая иллюстрация данных и т.д.
    7 печать результатов
    4) подключить часы, калькулятор или календарь

    отчет должен содержать:
    1. описание алгоритма решения задачи (в текстовом виде или виде блоксхемы)
    2. описание диалога пользователя с программой
    3. описание классов (объектов) проекта
    4. исходные файлы проекта и необходимые файлы данных
    5. исполняемые файлы проекта
     
  11. Savedracon

    Savedracon New Member

    Joined:
    8 Nov 2008
    Messages:
    41
    Likes Received:
    2
    Reputations:
    -1
    Срочный хелп

    Лаба по ассамблеру.
    1.Задан массив А из N чисел. Образовать массив В из чисел массива А, делящихся без остатка на 2.
    Запутался...
     
  12. oleandr

    oleandr New Member

    Joined:
    27 Apr 2009
    Messages:
    6
    Likes Received:
    2
    Reputations:
    -1
    мб все таки знает как написать, хотя завтра сдавать...
     
  13. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    TASM lol.asm
    Code:
    .model small 
    .data
    A db 1,8,4,3,5,7,9
    N equ $-offset A ; razmer massiva A
    B db N dup(0)
    .code
    start: 
    mov ax,@data
    mov ds,ax
    
    
    xor si,si
    xor di,di
    mov bl,2
    mov cx,N
    cikl:
    xor ax,ax
    mov al,A[si]
    div bl
    cmp ah,0
    jne dal
    mov al,A[si]
    mov B[di],al
    inc di
    dal:
    inc si
    loop cikl
    
    exit:
    mov ax,4c00h
    int 21h
    
    думаю можно и красивее )

    tasm lol.asm
    tlink lol.obj
    debug lol.exe
    -u (смотришь где находится mov ax,4c00h у меня 0027)
    -g CS:0027
    -d DS:0000

    смотришь дамп ищещь там 01 08 ... 09 и сразу за ними будут 08 04 00 ... в случае правильного результата )) а они там будут яж проверял
     
    _________________________
    #1473 Gar|k, 1 Jun 2009
    Last edited: 1 Jun 2009
  14. LAGOX

    LAGOX New Member

    Joined:
    13 Feb 2009
    Messages:
    22
    Likes Received:
    2
    Reputations:
    -1
    Задача "Последовательность". Помогите решить.

    Доброго времени суток.
    Помогите решить задачу на Delphi.
    Условие такое:
    Рассмотрим числовую последовательность, первоначально состоящую из двух единиц: 1, 1. Далее на каждом последующем шаге будем вставлять между соседними элементами их сумму. В примере добавляемые элементы выделены. Требуется написать программу, которая подсчитает сумму членов последовательности, построенной за K шагов.

    От себя добавлю, что если 1 шаг, то будет это выглядить так: 1,2,1.
    если 2 шага: 1,3,2,3,1 и т.д.

    На форме будет толкьо 1 Edit и кнопка, edit будет отвечать за количество шагов ну и label наверное для вывода данных
     
  15. MuXaJIbI4

    MuXaJIbI4 Member

    Joined:
    20 Nov 2008
    Messages:
    66
    Likes Received:
    7
    Reputations:
    0
    прикольная задачка .. если не к спеху то буду дома напишу
     
  16. Feonor

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

    Joined:
    23 Jul 2008
    Messages:
    128
    Likes Received:
    52
    Reputations:
    19
    какой изврат в щелку писать ппц))) +1
     
  17. SHAXID

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

    Joined:
    13 Dec 2007
    Messages:
    24
    Likes Received:
    17
    Reputations:
    -6
    ололо
    да уже разобрался сам=))
     
  18. SHAXID

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

    Joined:
    13 Dec 2007
    Messages:
    24
    Likes Received:
    17
    Reputations:
    -6
    Подскажите пожалуйста, как эта функция записывается в паскалевском виде:
    y=log (3 внизу) x(x+x^2)^-1
    http://i052.radikal.ru/0906/7e/33b3636ea81d.jpg
    вот так она тут выглядит.
     
    #1478 SHAXID, 2 Jun 2009
    Last edited: 2 Jun 2009
  19. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    хм-м, x(x+x^2)^(-1) = x / (x+x^2) = x / [x(1 + x)] = 1 / (1 + x). Или же в минус первой степени все выражение x(x+x^2)?
    ЗЫ. log(3)x = ln x / ln 3, x^(-1) = 1 / x
     
  20. SHAXID

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

    Joined:
    13 Dec 2007
    Messages:
    24
    Likes Received:
    17
    Reputations:
    -6
    Ну нет, там же log(3)x умноженное на вот
    это:
    (x+x^2)^(-1), т.е. 1/(x+x^2)
    итак, log(3)x умноженное на 1/(x+x^2) ... вот такая тема..
     
Thread Status:
Not open for further replies.