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

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

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

    idm_hello New Member

    Joined:
    5 May 2010
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Помогите плиз решить задачу для экзамена. Delphi
    В заданном файле хранятся данные, содержащие фразы на русском языке, записанные в обратном порядке (задом-наперёд). Вывести текст, содержащий фразы на русском языке и записанные в нормальном порядке. Подсчитать количество гласных и согласных букв в исходном файле и полученном тексте
     
  2. Vollkorn

    Vollkorn Member

    Joined:
    6 Nov 2010
    Messages:
    86
    Likes Received:
    15
    Reputations:
    -6
    Вот с ответов, там есть несколько примеров:
    http://otvety.google.ru/otvety/thread?tid=0f7fbcc4a1def8b7
    А это, если ты знаешь украинский, ну или хоть как-нибудь его понимаешь:
    http://revolution.allbest.ru/programming/00212304_0.html =)
     
  3. Kastor

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

    Joined:
    19 Jan 2010
    Messages:
    127
    Likes Received:
    18
    Reputations:
    13
    Я вот статью недавно на эту тему писал
    Двусвязные списки на С++
    Могу если что, кинуть еще своих примеров и один файл с описанием.
     
  4. XimiK69

    XimiK69 Member

    Joined:
    2 Jan 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    0
    Derec, лови....
    Code:
    #ifndef LIST_H
    #define LIST_H
    
    template < class type >
    class List{
    	struct node{
    		type data;
    		node *next;
    	};
    	node *head;
    public:
    	List(){ head = NULL; }
    	~List();
    	void push_back( type value );
    	void push_front( type value );
    	void sort();
    	void push();
    	void pop();
    	void print();
    	void insert( type key );
    	void insert( type value, type key );
    	void start();
    	void menu();
    };
    
    #endif //LIST_H
     
    #3264 XimiK69, 24 Jan 2011
    Last edited: 24 Jan 2011
  5. XimiK69

    XimiK69 Member

    Joined:
    2 Jan 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    0
    Code:
    #include "list.h"
    
    //---------------------------------------
    // деструктор
    //---------------------------------------
    template < class type >
    List< type >::~List(){
    	while( head ){
    		node *rmv = head;
    		head = head->next;
    		delete rmv;
    	}
    }
    
    //-------------------------------------
    // добавление элемента в конец списка
    //-------------------------------------
    template < class type >
    void List< type >::push_back( type value ){
    	node *element = new node;
    	element->data = value;
    	element->next = NULL;
    
    	if( !head ){
    		head = element;
    	}else{
    		node *tmp = head;
    		while( tmp->next ){
    			tmp = tmp->next;
    		}
    		tmp->next = element;
    	}
    }
    
    //-----------------------------------
    // добавление в начало списка
    //-----------------------------------
    template < class type >
    void List< type >::push_front( type value ){
    	node *element = new node;
    	element->data = value;
    	element->next = NULL;
    
    	if( !head ){
    		head = element;
    	}else{
    		element->next = head;
    		head = element;
    	}
    }
    
    //----------------------------
    // сортировка выбором
    //----------------------------
    template < class type >
    void List< type >::sort(){
    	if( !head )
    		return;
    	
    	push();
    	node *current = NULL, *first = NULL, *second = NULL;
    	bool isSorted = false;
    
    	while( !isSorted ){
    		isSorted = true;
    		current = head;
    		first = current->next;
    		second = first->next;
    
    		while( (second) ){
    			if( first->data > second->data ){
    				isSorted = false;
    				first->next = second->next;
    				second->next = first;
    				current->next = second;
    			}
    			current = current->next;
    			first = current->next;
    			second = first->next;
    		}
    	}
    	pop();
    }
    
    //-----------------------------------
    // добавление в начало
    //-----------------------------------
    template < class type >
    void List< type >::push(){
    	node *element = new node;
    	element->next = NULL;
    
    	if( !head ){
    		head = element;
    	}else{
    		element->next = head;
    		head = element;
    	}
    }
    
    //--------------------------------
    // удаление первого элемента
    //--------------------------------
    template < class type >
    void List< type >::pop(){
    	if( !head )
    		return;
    	node *rmv = head;
    	head = head->next;
    	delete rmv;
    }
    
    //--------------------------------
    // печать
    //--------------------------------
    template < class type >
    void List< type >::print(){
    	for(node *tmp = head; tmp; tmp = tmp->next)
    		cout << tmp->data << " ";
    	cout << endl;
    }
    
    //----------------------------------
    // включение по заданному объекту
    //----------------------------------
    template < class type >
    void List< type >::insert(type value, type key){
    
    	node *tmp = head, *pred;
    	while( tmp ){
    		if( tmp->data == key )
    			break;
    		pred = tmp;
    		tmp = tmp->next;
    	}
    
    	if( !tmp )
    		throw "Неверный ключ для поиска!\n";
    	
    	node *element = new node;
    	element->data = value;
    	element->next = NULL;
    
    	if( tmp == head ){
    		element->next = head;
    		head = element;
    	}else{
    		element->next = tmp;
    		pred->next = element;
    	}
    }
    
    //----------------------------------
    // включение с сохранением порядка
    //----------------------------------
    template < class type >
    void List< type >::insert( type key ){
    	node *element = new node;
    	element->data = key;
    	element->next = NULL;
    
    	if( !head ){
    		head = element; return;
    	}
    
    	node *tmp = head, *pred;
    	while( tmp ){
    		if( tmp->data > key )
    			break;
    		pred = tmp;
    		tmp = tmp->next;
    	}
    
    	if( tmp == head ){
    		element->next = head;
    		head = element;
    	}else{
    		if( !tmp ){
    			pred->next = element;
    		}else{
    			element->next = tmp;
    			pred->next = element;
    		}
    	}
    }
    
     
  6. MartiN1991

    MartiN1991 New Member

    Joined:
    23 Jan 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помогите пожалуйста написать прогу на Delphi 7

    Доброго времени суток !!!
    Неполучается поместить рекурсию в MainMenu.
    Суть задачи создать MainMenu, которое работало бы как дерево каталогов ТриВью.
    Если сформулировать. Разработать динамическое меню с рекурсивным перебором содержимого папки.
    Неделю голову ломал, результата НОЛЬ...
    Помогите Плизззз...)))
     
  7. FlameKiller

    FlameKiller New Member

    Joined:
    11 Aug 2009
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    помогите плз нужно написать программу на асемблере пощитать уравнение Y = (A+B+C) x D для 8086
    буду очень благодарен)
     
    #3267 FlameKiller, 25 Jan 2011
    Last edited: 25 Jan 2011
  8. becensed

    becensed Member

    Joined:
    2 Dec 2009
    Messages:
    84
    Likes Received:
    24
    Reputations:
    1
    Code:
    ;
    ; tasm me.asm
    ; tlink /t/x me.obj
    ;
    ; Y = (A+B+C)xD
    
            .model tiny
            .8086
            .code
    
            org 100h
    
    start:
            mov     ax, word ptr a  ; a
            add     ax, word ptr b  ; a + b
            add     ax, word ptr c  ; (a+b) + c
            imul    d               ; (a+b+c) * d
    
            mov     y, ax   ;y = (a+b+c)*d
    
            ret
    
    a   db  1
    b   db  2
    c   db  3
    d   db  4
    y   dw  ?
    
    end  start
     
  9. sergiwez

    sergiwez New Member

    Joined:
    16 Sep 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    народ! помогите плз, нужно переделать с паскаля на с++...

    Code:
    program r_k_m;
    const n=3; a=0;b=9;
    type vector=array[1..n] of real;
    
    var i,kk,dd,j:integer;
    ks:longint;
    x,x0,St,Ct,dS,dC,h,hh,eps:real;
    ak1,ak2,ak3,T1,T2,Tk:real;
    f,y,y0,y1,y2,R:vector;
    ff:text;
    
    procedure dy;
    begin
    f[1]:=(ak1*(1-y[3]-y[1])/T1;
    f[2]:=(ak2*y[1]-y[2])/Tk;
    f[3]:=(ak2*y[2]-y[3])/T2;
    
    end;
    procedure rkm;
    var k0,k1,k2,k3,k4,z:vector;
    begin
    dy;
    for i:=1 to n do
     begin
    	 k0[i]:=h*f[i];
     z[i]:=y[i];
     y[i]:=z[i]+k0[i]/3;
     end;
    x:=x+h/3;
     for i:=1 to n do
     begin
    	 k1[i]:=h*f[i];
     y[i]:=z[i]+k0[i]/6+k1[i]/6;
     end;
    
     dy;
    i:=1 to n do
     begin
    	 k2[i]:=h*f[i];
     y[i]:=z[i]+k0[i]/8+*k2[i]/8;
     end;
    x:=x+h/3;
     dy;
     for i:=1 to n do
     begin
    	 k3[i]:=h*f[i];
     y[i]:=z[i]+(k0[i]/2-3*k2[i]/2+2*k2[i]/2+2*k3[i];
     end;
    x:=x+h*0.5;
     for i:=1 to n do
     begin
    	 k4[i]:=h*f[i];
     y[i]:=z[i]+k0[i]+4*k3[i]+k4[i])/6;
    
     R[i]:=(-2*k0[i]+9*k2[i]+8*k3[i]+k3[i])/30;
     end;
    
     {writeln('1',' h=',h,' k=',k0[1]); read(j);}
     end;
    
     procedure aut_step(var y,y0,y1,y2,f:vector);
     label 1;
     begin
    	 for i:=1 to n do y0[i]; x0=x;
     1: x:=x0;
     rkm;
     for i:=1 to n do if abs(R[i])>eps then
    	 begin
    h:=h/2;
     for i:=1 to n do y[i]:=y0[i];
     goto 1;
     end;
    dd:=0;
     for i:=1 to n do if abs(R[i]<(eps/30) then dd:=dd+1;
    	 if dd=n then h:=2*h; dd=0;
    		 end;
     end;
    
    begin
    assign(ff,'C:\rkm.txt');
    rewrite(ff);
    writeln(ff,'        rkma');
    y[1]:=0;
    y[2]:=0;
    y[3]:=0;
    x:=a;
    h:=1;
    eps:=1e-2;
    ak1:=10;
    ak2:=2:
    ak3:=2;
    T1:=0.007; Tk:=0; T2:=0.8;
    ks:=ks+1;
    aut_step(y,y0,y1,y2,f);
    if ks=300 then
    begin 
    writeln (ff,'  x=',x,' Uout=',y[3],' h=,h);
    ks:=0;
    end;
    until x>b;
    close(ff);
    end.
     
  10. p4crew

    p4crew New Member

    Joined:
    29 Jan 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помогите с алгоритмом сложения на Microsoft Visual C++ 6.0

    Aлгоритм сложения на Microsoft Visual C++ 6.0



    HTML:
    #include <iostream.h>
    #include<string.h>
    #include <stdlib.h>
    
    int a[100],b[100],c[100];
    int input (int[]);
    int done  (int,int);
    void output (int);
    
    int main()
    
    {  
    	int len_1,len_2,len_big;
    	           cout<<"a=";
    	len_1=input(a);
    	           cout<<"b=";
    	len_2=input(b);
    	len_big=done(len_1,len_2);
    	output(len_big);
    	return 0;
    }
    int input(int mas[])
    {
    	        char s[100];
    	       int i,len,pos;
    	cin>> s;
    	     len=strlen(s);
    	  i=len-1;
    	   pos=0;
    	       while(i>=0)
    	{
    	   mas[pos]=atoi(&s[i]);
    	   s[i]='\0';
    	   pos++;
    	   i--;
    	}
               return len;
    }
    int done(int l1,int l2,int p)
    {
    	int i,k;
    	
    	    if(l1>l2)
    		     k=l1;
    		else
    		     k=l2;
    	
    for(i=0;i<k;i++)
    {
    
    int buf=a[i];
    a[i]=b[i];
    b[i]=buf;
    for (i=0;i<k;i++)
    {
    	c[i]=a[i]-b[i]+c[i+1];
    	if(c[i]<0)
    	{
    	c[i+1]=1;
    	c[i]=10;
    	}
    }
    }
       cout<<endl;
     return k;
    }
    void output(int k,int p)
    
    {
    	int i;
    	while(c[k-1]==0 && k>0)
    		k--;
    	if(p==2)
    		cout<<"-";
    	for(i=k;i>=k;i--)
    		cout<<c[i];
    	cout<<endl;
    }
    
     
  11. -=megahertz=-

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

    Joined:
    23 May 2007
    Messages:
    79
    Likes Received:
    16
    Reputations:
    1
    лаб работа на С++

    Нужна помощь в написании программы на visual C++/
    1.создать консольное приложение и составить программу для решения задачи с одномерным массивом.Спроектировать переменную для хранения исх данных и результатов.

    Массив X(N)(N<=60). Переписать отрицательные элементы массива X последовательно в массив Y. Отпепчатать сформированный массив Y.

    заранее спасибо
     
  12. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    -=megahertz=-
    Code:
    #include <iostream>
    using namespace std;
    int *X, *Y, N, i, N1;
    int main()
    {
    	N1 = 0;
    	cout << "Please enter N: ";
    	cin >> N;
    	X = new int[N];
    	for(i=0;i<N;i++)
    	{
    		cin >> X[i];
    		if(X[i]<0)
    			N1++;
    	}
    	Y = new int[N1];
    	N1 = 0;
    	for(i=0;i<N;i++)
    	{
    		if(X[i]<0)
    		{
    			Y[N1] = X[i];
    			N1++;
    		}
    	}
    	cout << "----------\n";
    	for(i=0;i<N1;i++)
    		cout << Y[i] << "\n";
    	delete X; delete Y;
    	return 0;
    }
    
     
    #3272 SHiNiGaMi, 30 Jan 2011
    Last edited: 30 Jan 2011
    1 person likes this.
  13. -=megahertz=-

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

    Joined:
    23 May 2007
    Messages:
    79
    Likes Received:
    16
    Reputations:
    1
    пишу опять с лаб работой...нужна снова помощь в решении программы

    1. создать консольное приложение и составить программу для решения задачи с циклическим алгоритмом решения. Предусмотрите ввод начального значения аргумента, конечного значения и величины шага. Предусмотрите проверку корректности исх данных и вывод русскоязычных подсказок.

    1.12+a*t-t,t>2
    y=фиг.скобка 1-t^3+sin(t),t<1
    1.23+2.23*t^5,1<=t<=2
     
  14. Sawer

    Sawer New Member

    Joined:
    12 Jan 2011
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Ребята, задали несколько задач, а циклы на С я не проходил кто нибудь сможет решить вот такие задачи...
    1. Написать программу, которая выводит на экран умножения на указанную пользователем цифру
    2. Напистаь программу, которая выводит на экран таблицу значений функций у=2х2 -5х-8 в диапозоне от -4 до 4. Шаг изменения аргумента 0.5
    3. В последовательности целых чисел определить наименьшее отрицательное число и его порядковый номер
     
  15. L E X X

    L E X X Member

    Joined:
    20 Nov 2008
    Messages:
    0
    Likes Received:
    8
    Reputations:
    1
    Добрый день!

    Нужна программа для курсовой работы.
    1-Обучающая программа по компонентам панели System в Delphi (С++)
    2-Разработать в среде С++ билдер обучающую программу (создание веб-страницы с элементами верстки с помощью слоев)
     
  16. becensed

    becensed Member

    Joined:
    2 Dec 2009
    Messages:
    84
    Likes Received:
    24
    Reputations:
    1
    Как-то так:
    Code:
    /*
        1. Написать программу, которая выводит на экран умножения 
           на указанную пользователем цифру
    */
    
    #include <stdio.h>
    
    int main()
    {
        int i, t;
    
        printf("Vvedite cifru: ");
        scanf("%d", &t);
    
        for (i=0; i<=10; i++)
            printf("%d. %d*%d = %d\n",i,t,i,i*t);
    
        return 0;
    }
    Code:
    /*
        2. Напистаь программу, которая выводит на экран таблицу значений 
           функций у=2х2 -5х-8 в диапозоне от -4 до 4. 
           Шаг изменения аргумента 0.5
    */
    
    #include <stdio.h>
    
    int main()
    {
        float x,y;
    
        for (x=-4; x<=4; x+=0.5)
            printf("x = %0.1f;\ty = %0.2f\n",x,(2*x*x-5*x-8));
    
        return 0;
    }
    Code:
    /*
        3. В последовательности целых чисел определить наименьшее 
           отрицательное число и его порядковый номер
    */
    
    #include <stdio.h>
    
    int main()
    {
        int a[] = {1,-6,3,8,9,0,-1,10,9,-2,0,-11};
        int i,t=0,m=0;
        int s = sizeof(a)/sizeof(a[0]);
    
        for (i=0; i<s; i++)
            if(a[i]<0)
                if(a[i]<t) t = a[i], m=i;
    
        printf("a[%d] = %d",m,t);
    
        return 0;
    }
     
  17. -=megahertz=-

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

    Joined:
    23 May 2007
    Messages:
    79
    Likes Received:
    16
    Reputations:
    1
    delphi

    Code:
    unit Unit13;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Grids, ValEdit, ExtCtrls, StdCtrls, ComCtrls;
    
    type
      Tfilebuffer = class(TForm)
        StringGrid1: TStringGrid;
        StringGrid2: TStringGrid;
        StringGrid3: TStringGrid;
        Button1: TButton;
        ProgressBar1: TProgressBar;
        Timer1: TTimer;
        procedure FormCreate(Sender: TObject);
        procedure FormActivate(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
    
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      filebuffer: Tfilebuffer;
      i:integer;
      o:integer;
      txt:string;
      txt2:integer;
      f:textfile;
      s:string;
      fff:string;
      ii:string;
      ll:string;
      nn:string;
      mm:integer;
    
    
    implementation
    
    {$R *.dfm}
    
    procedure Tfilebuffer.FormCreate(Sender: TObject);
    begin
    stringgrid1.Cells[0,0]:='Наименование';
    stringgrid1.Cells[1,0]:='Значение';
    stringgrid2.Cells[0,0]:='№';
    stringgrid2.Cells[1,0]:='Наименование мероприятия';
    stringgrid2.Cells[2,0]:='Начало';
    stringgrid2.Cells[3,0]:='Конец';
    stringgrid3.Cells[0,0]:='Сумма';
    
    end;
    
    
    
    procedure Tfilebuffer.FormActivate(Sender: TObject);
    begin
    if filebuffer.stringgrid1.Cells[0,1]<>'' then
    begin
    i:=0;
    o:=1;
      txt:='';
      txt2:=0;
      fff:='';
      ii:='';
      ll:='';
      nn:='';
      mm:=0;
     begin
        AssignFile(F,filebuffer.stringgrid1.Cells[1,1]);
        Reset(F);
         while not Eof(F) do
          begin
    
          Readln(F,S);
            stringgrid2.Cells[i,o]:=S;
            i:=i+1;
            if i=4 then
            begin
            i:=0;
            o:=o+1;
            end;
            if S='' then
            i:=i-1;
             end;
            CloseFile(F);
            filebuffer.Stringgrid2.RowCount:=o+1;
            filebuffer.StringGrid2.Cells[i,o]:=filebuffer.stringgrid2.Cells[1,1];
            filebuffer.StringGrid2.Cells[i+1,o]:=filebuffer.stringgrid2.Cells[2,1];
            filebuffer.StringGrid2.Cells[i+2,o]:=filebuffer.stringgrid2.Cells[3,1];
            end;
        end;
        
    stringgrid3.rowcount:=stringgrid2.rowcount;
    for mm:=1 to stringgrid3.rowcount do
    if stringgrid2.Cells[2,mm]<>'' then
    begin
    ii:=stringgrid2.Cells[2,mm];
    nn:=ii[1]+ii[2];
    ll:=ii[4]+ii[5];
    stringgrid3.Cells[0,mm]:=inttostr(strtoint(nn)*60+strtoint(ll));
    
    end;
    end;
    
    procedure Tfilebuffer.Timer1Timer(Sender: TObject);
    begin
    progressbar1.Position:=progressbar1.Position+20;
    if progressbar1.Position>=100 then
    filebuffer.Visible:=false;
    end;
    
    end.

    ругается вот на эту строку - for mm:=1 to stringgrid3.rowcount do
    пишет for loop control variable must be simple local variable
    в чем может быть проблема?
     
  18. arnis

    arnis Member

    Joined:
    30 Jan 2011
    Messages:
    280
    Likes Received:
    23
    Reputations:
    0
    Заведи переменную прировняй ее к stringgrid3.rowcount и используй ее в цикле
     
  19. -=megahertz=-

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

    Joined:
    23 May 2007
    Messages:
    79
    Likes Received:
    16
    Reputations:
    1
    такс, теперь при запуске пишет project ... raised exception class emcideviceerror with message "Данное имя устройства уже используется приложением в качестве псевдонима. Задайте уникальный псевдоним. Process stoped. Use step or run to continue.
    подскажите, что за ошибка, что за псевдонимы? Прилагаю к вопросу файл с частью кода + небольшая процедура "моргалка" - заставляет мигать кнопку и орать.

    if (ind_signal='1') then
    begin
    mediaplayer1.FileName:=('notify2.wav');
    MediaPlayer1.DeviceType:= dtAutoSelect;
    mediaplayer1.autorewind:=true;
    mediaplayer1.play;
    plan_time_s:=strtoint(st2[4]+st2[5])*60+strtoint(st2[7]+st2[8]);
    oper_time_s:=strtoint(oper_t[4]+oper_t[5])*60+strtoint(oper_t[7]+oper_t[8]);
    if plan_time_s-oper_time_s<0 then
    if GroupBox2.Color=GroupBox1.color then GroupBox2.Color:=clRed
    else GroupBox2.Color:=GroupBox1.color;
    end;

    Компилятор не видит ошибок, а при запуске программы выделяется unit17.

    Code:
    http://www.megaupload.com/?d=3JVH783R 
    вот ссылка на unit17
     
    #3279 -=megahertz=-, 9 Feb 2011
    Last edited: 10 Feb 2011
  20. -=megahertz=-

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

    Joined:
    23 May 2007
    Messages:
    79
    Likes Received:
    16
    Reputations:
    1
    delphi

    в тхт файле содержится расписание в виде:

    1
    зарядка
    07:00
    07:30

    2
    прием пищи
    08:00
    08:30



    в форме имеется 6 полей(memo) в первых 3-х выводится текущее действие и его временные интервалы. в остальных выводится предстоящее действие в с временными интервалами

    также имеются часы.

    помогите написать код для осуществления данной задачи
     
Thread Status:
Not open for further replies.