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

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

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

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

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    Code:
    var s:string;
        i:integer;
    begin
      // a =97
      // z = 122
      // 0 = 48
      // 9 = 57
      s:= 't@st';
      for i:=1 to length(s) do
          if (ord(s[i])>97)and(ord(s[i])<122)and
             (ord(s[i])>48)and(ord(s[i])<57)then
             writeln('!!!!!!!!!!!!!!!',ord(s[i])) else
             writeln(s[i],' = ',ord(s[i]));
      readln;
    end.
     
    1 person likes this.
  2. MadAbility

    MadAbility New Member

    Joined:
    6 Dec 2008
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Нужна помощь.
    C++ Builder 6

    Задание

    Создать алгоритм и написать программу в C++ Builder 6
    Которая реализует построение графиков функцый
    . . .
    Значение x меняется от 0 до 720 град.
    Построене графиков реализавать с контекстным меню, которое реализует с использованием компонента PopupMenu.
     
  3. Roston

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

    Joined:
    31 Jul 2008
    Messages:
    337
    Likes Received:
    104
    Reputations:
    8
    [C] давно забытая графика

    Code:
    #include<stdio.h>
    #include<dos.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<graphics.h>
    #include<string.h>
    void myprint (int X, int Y,int shadow, int color, int size, char *text);
    int main()
    {
    int c,color,X,Y,shadow,style,size;
    char *text;
    char a;
    int gdriver=DETECT, gmode, errorcode;
    initgraph(&gdriver,&gmode, "");
    errorcode=graphresult();
    if(errorcode!=grOk)
    {
    printf("Graphics error: %s\n", grapherrormsg(errorcode));
    getch();
    return (0);
    }
    printf("Hi, enter coordinates(X,Y) where will be our text\n");
    scanf("%d,%d",&X,&Y);
    printf("Do you want shadow?(y/n)\n");
    scanf("\n%c",&a);
    if (a=='y')
    c=1;
    else
    {
    if (a=='n')
    c=0;
    else
    {
    printf("Error, as default shadow won't use\n");
    c=0;
    }
    }
    printf("Enter size(0-3)\n");
    scanf("%d",&size);
    
    printf("\nAt last enter your text\n");
    scanf("%s\n",text);
    color=4;
    cleardevice();
    myprint(X,Y,c,color,size,text);
    getch();
    closegraph();
    return 0;
    }
    void myprint(int X, int Y,int shadow, int color, int size, char *text)
    {
    settextstyle(0,0,size);
    setcolor(7);
    outtextxy(X+shadow,Y-shadow,text);
    setcolor(color);
    outtextxy(X,Y,text);
    }
    

    народ обьясните плз почему когда ввожу переменную text то обычным нажатием ентера это не заканчиваеться а надо ввести какой нить еше символ....
    и второй вопрос как сделать так что бы в переменной текст можно было ввести несколько слов и вывести их на екран все????

    спасибо наперед
     
  4. eLWAux

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

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    юзай
    Code:
    scanf("%s",text);
    while для myprint
     
  5. KaZ@NoVa

    KaZ@NoVa Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    ////
     
    2 people like this.
  6. KaZ@NoVa

    KaZ@NoVa Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    вот исходник, компьютер вроде всегда выигрывает....

     
    1 person likes this.
  7. DDN

    DDN New Member

    Joined:
    26 Feb 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помогите пожалуйста. Нужно создать турнирную таблицу на C++ Builder. По результату матча проигравшая команда вылетает, выигравшая идет вперед-принцип олимпийской системы.
     
  8. EniOk

    EniOk New Member

    Joined:
    6 Jun 2009
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте. Помогите пожалуйста. Долгосрочное задание на байлдере. Я просто тупой раз не смог это сотворить сам:

    Code:
    На плоскости задано множество окружностей. 
    Две окружности A и B назовём связанными, если они пересекаются либо существует
     третья окружность C заданного множества, связанная с A и B. 
    Выбрать максимальное подмножество попарно не связанных друг с другом окружностей.
    Могу предоставить код того что я написал но оно в корне не верно, поэтому наверное легче будет Вам самим составить это адское детище... Очень надо... Помогите плз!
     
  9. Тилль

    Тилль Elder - Старейшина

    Joined:
    26 May 2006
    Messages:
    44
    Likes Received:
    3
    Reputations:
    0
    Задача по с++

    Напишите пожалуйста задачу на С++.
    Условие: Открыть текстовый файл, считать с него информацию, отсортировать по алфавиту, места пробелов заполнить амперсандами(&). Сохранить файл на диске.
     
  10. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    Люди, помогите, плиз, может у кого завалялось, надо на ВинАПИ две функции
    1. чтение данных из определленого ключа реестра
    2. запись

    Знаю, что банальщина, не хватает времени
     
  11. NightJack

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

    Joined:
    28 Feb 2007
    Messages:
    16
    Likes Received:
    30
    Reputations:
    26

    http://www.compdoc.ru/prog/pascal/work_with_reg_in_delphi/
    http://www.delphisources.ru/pages/faq/base/kol_lesson8.html

    Посмотри здесь, может подойдет...
     
  12. --StraNger--

    --StraNger-- Member

    Joined:
    4 Jan 2009
    Messages:
    63
    Likes Received:
    57
    Reputations:
    5
    сказали ведь на winapi =/
     
  13. Fata1ex

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

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Функции winapi везде одинаковы ~

    http://msdn.microsoft.com/ru-ru/library/sykcb9xf.aspx
    http://social.msdn.microsoft.com/Search/ru-RU/?query=registr&ac=8
    http://social.msdn.microsoft.com/Search/ru-RU/?query=registry&ac=3
     
  14. --StraNger--

    --StraNger-- Member

    Joined:
    4 Jan 2009
    Messages:
    63
    Likes Received:
    57
    Reputations:
    5
    Совершенно верно. Но приведенная выше ссылка вела на материал по классу TRegisty в Delphi. Это как известно не является winapi :rolleyes:
     
    1 person likes this.
  15. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    RegCreateKeyEx
    там скроль вниз

    http://support.microsoft.com/kb/135398
     
  16. EniOk

    EniOk New Member

    Joined:
    6 Jun 2009
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Итак... Все это время я соображал... Задача свелась к тому чтобы выбрать собственно само подмножество окружностей:
    Язык я бы назвал так: С++ без классов, потому что на си надо, но разрешено пользоваться немного средствами с++

    Вот мой код:
    main.cpp
    Code:
    /************************Preprocessor's operations***********************/
    #include <stdio.h>
    #include <math.h>
    #include <stdlib.h>
    #include <conio.h>
    #include "d:\ddz\proc.cpp"
    /*****************************Global variables***************************/
    FILE *in,*out;                   //Servise variables
    char inname[80], outname[80];    //Names of input & output files
    int count;                       //Count of circles
    int i,j,w;				 //
    /******************************Main function*****************************/
    int main()
    {
    
    	clrscr();
    	//Ask the user about name of the input file
    	printf("Enter the name of input file, please: ");
    	scanf("%s", &inname);
    	///////////////////////////////////////////
    
    	//Opening input file
    	if ((in = FOpen(inname,"r"))==NULL) return 1;
    	////////////////////
    
    	//Reading nomber of circles
    	fscanf(in, "%d", &count);
    	if (count <1)
    	{
    		printf("Incorrect format of input file\n");
    		fclose(in);
    		return 1;
    	}
    	///////////////////////////
    	//Declaring array of CIRCLE
    	CIRCLE *circle = new  CIRCLE[count];
    	////////////////////////
    
    	//Reading circles information
    	printf("Information from input file:\n Count of circles: %i\n",count);
    	printf("                                 \n");
    	printf("  #     X         Y        R     \n");
    	for (i=0;i<count;i++)
    	{
    		fscanf(in,"%f %f %f", &circle[i].x, &circle[i].y, &circle[i].r);
    		printf(" %2i   %5.4f   %5.4f   %5.4f \n",i, circle[i].x,circle[i].y,circle[i].r);
    		circle[i].crossflag=0;
    	}
    	printf("                                 ");
    	/////////////////////////////
    	//Now test)
    	//int **s = new int*[count];
    int **s = new int*[count];//тут создали только массив указателей
    for(i=0;i<count;++i) s[i]=new int[count];//а вот собственно выделение памяти для элементов массива
    for(i=0;i<count;++i) for(j=0;j<count;++j) s[i][j]=0;//обнуление
    	for (i=0;i<count;i++) for (j=0;j<count;j++) s[i][j]=0;
    
    	MatrixCreator(s, count, circle);
    	printf("\n");
    	printf("Matrix of atteinability:\n");
    	for (i=0;i<count;i++) {for (j=0;j<count;j++) if (i!=j)printf(" %i",s[i][j]); else printf(" °"); printf("\n");};
    	///////////
    	getch();
    	int *mas=new int[count];
    
      	Vibor(s, count, mas);
    	printf("\n");
    	getch();
    	for (i=0;i<count;i++) if (mas[i]) printf("%i ", i);
    	getch();
    	///////////
    for(i=0;i<count;++i) delete [] s[i];
    delete [] s;
    	return 0;
    }
    
    proc.cpp
    Code:
    //Declaring new data type
    struct CIRCLE {
        float x, y, r;
        char crossflag;
    };
    int j1, k1,l,i2;
    /////////////////////////
    //Folloving we'll have dinamic array of one
    /*******************************Opening file****************************/
    FILE *FOpen(char *path, char *reg)
    {
    	FILE *name;
    	if ((name = fopen(path,reg))!=NULL) return name;
    	printf("Unable to open file '%s'",path);
    	return NULL;
    }
    /*Tests crossing of 2 circles*/
    int test(CIRCLE c1,CIRCLE c2)
    {
    	//printf("%i %i %i %i %i %i", c1.x, c1.y, c1.r, c2.x, c2.y, c2.r);
    	if ( sqrt( (fabs(c1.x-c2.x)*fabs(c1.x-c2.x))+(fabs(c1.y-c2.y)*fabs(c1.y-c2.y)))  <(c1.r+c2.r)) return 1;
    	return 0;
    }
    /////
    int test2(CIRCLE c1, CIRCLE c2)
    {
    	if (((sqrt( ((c1.x-c2.x)*(c1.x-c2.x))+((c1.y-c2.y)*(c1.y-c2.y)))+c1.r)<c2.r)||( (sqrt( ((c1.x-c2.x)*(c1.x-c2.x))+((c1.y-c2.y)*(c1.y-c2.y)))+c2.r)<c1.r))
    	return 0;
    	return 1;
    }
    int MatrixCreator(int **s, int n, CIRCLE *circle)
    {
    	int i2,j2,k2;
    	for (i2=0;i2<n;i2++)
    		for (j2=0; j2<n; j2++)
    			if(i2!=j2)
    			 if (test (circle[i2],circle[j2]))
    			  if (test2(circle[i2],circle[j2])) s[i2][j2]=5    ;
    
    //	for (i2=0;i2<n;i2++)
    //		for (j2=0;j2<n;j2++)
    //			for (k2=0;k2<n;k2++)
    //				if (i2!=j2)
    //				 if(s[k2][i2] && s [j2][k2])
    //				  s[j2][i2]=4;
    //        for (i2=1;i2<n;i2++) for (j2=1; j2<n; j2++) s[n-j2][i2]= s[i2][n-j2];
    	for (k2=0;k2<n;k2++)
    		for (i2=0;i2<n;i2++)
    			for (j2=0;j2<n;j2++)
    				s[i2][j2] = s[i2][j2] || (s[i2][k2] && s[k2][j2]);
    	return 0;
    }
    /*int Vibor(int **s, int i, int *mas, int*w, int n)
     {
    	for (j1=0;j1<n;j1++)
    		///for(k1=0;k1<n;k1++)
    		///	if(!s[j1][k1])
    		///		{
    		///			mas[*w++]=k1;
    		///			Vibor(s,k1,mas,w,n);
    		///		}
    		k1=1;
    		for(l=0;l<*w;l++)
    		if (j1==mas[l]) k1=0;
    		if ((!k1)||(s[i][j1]==0))
    		{       *w++;
    			mas[*w]=j1;
    			Vibor(s,j1,mas,w,n);
    
    		}
     }
      */
      void  Vibor(int **s, int n, int *mas)
      {//     int l=-1;
    	int *flags = new int[n];
    	for (i2=0;i2<n;i2++) flags[i2] = mas[i2] = 0;
    	l2:
    	for (i2=0;i2<n;i2++)
    		if (!flags[i2])
    			{
    				flags[i2]= mas[i2]=1;
    				for (j1=0;j1<n;j1++)
    					if (s[i2][j1]) flags[j1]=1;
    
    			}
    	 for (i2=0;i2<n; i2++)
    	 if (!flags[i2]) goto l2;
    
      }
    Только функция Vibor не верна(
     
  17. Derec

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

    Joined:
    8 Nov 2007
    Messages:
    74
    Likes Received:
    4
    Reputations:
    0
    Assambler

    Всем привет! Подскажите пожалуйста, есть ли у кого-нибудь пример работы с файлами на Ассемблере. А именно интересует создание, чтение и запись. Чтение я нашел, а вот использую функции создания и записи и выходят ошибки. Было бы здорово, если у кого то окажется уже готовая программка. Буду оочень Вам признателен. Спасибо!
     
  18. dos999

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

    Joined:
    15 Feb 2008
    Messages:
    137
    Likes Received:
    24
    Reputations:
    0
    Виндовые функции чем не устраивают
    CreateFile
    ReadFile
    WriteFile
    CloseFile
     
  19. oleandr

    oleandr New Member

    Joined:
    27 Apr 2009
    Messages:
    6
    Likes Received:
    2
    Reputations:
    -1
    Есть ли добрые ппрогеры (VB сишарп) посидеть завтра с 9 до 10 часов утра в асе а решить если что задачку(простенькие в основном) , если нужно будет денег подкинуть на снятие морального подресеняя на пиво сделаем :)
     
    1 person likes this.
  20. Maxxxtri23

    Maxxxtri23 New Member

    Joined:
    20 Dec 2008
    Messages:
    76
    Likes Received:
    1
    Reputations:
    0
    как расположить элементы одномерного массива в обратном порядке (Delphi). Выручайте, завтра экзамен.
     
Thread Status:
Not open for further replies.