БлогNot. "есть кто в BORLAND C++ шарит?"

"есть кто в BORLAND C++ шарит?"

Для истории, думаю, эта ветка форума "ЭГ" достойна сохранения. Жаль, что народу там мало - где-нибудь на RSDN в старые времена изгалялись бы дольше :)

16793 21.05.2009 20:29

есть кто в BORLAND C++ шарит?
 
есть кто в BORLAND C++ шарит???????????????????

Lcf 21.05.2009 20:51

Re: есть кто в BORLAND C++ шарит???????????????????
 
Я все понимаю, но Вы разделом не ошиблись уважаемый? :)

16793 21.05.2009 22:10

Re: есть кто в BORLAND C++ шарит???????????????????
 
извините может и ошибся нужна помощь:: решите задачу:
составить программу, привести примеры исходных данных и результатов:
Определить, какие из трех чисел x, y, z равны друг другу, и если такие есть, вывести имена этих чисел и значение.

Aleck 10.06.2009 11:53

Re: есть кто в BORLAND C++ шарит?
 
Код:

int x, y, z;
if (x==y==z)
{
printf("x=z=y=%d",x);
}
else
{
if (x==y) printf("x=y=%d",x);
if (x==z) printf("x=z=%d",x);
if (y==z) printf("y=z=%d",y);
}

гениальный алгоритм, неправдо ли? ^__^

RiPPeR 10.06.2009 14:46

Re: есть кто в BORLAND C++ шарит?
 
Цитата:

Сообщение от Aleck (Сообщение 1855079281)
Код:

if (x==y==z)
гениальный алгоритм, неправдо ли? ^__^

Садись, два.

Aleck 10.06.2009 21:01

Re: есть кто в BORLAND C++ шарит?
 
можно маму в школу не вызывать? :)

x==y && y==z

PerC 25.06.2009 00:28

Re: есть кто в BORLAND C++ шарит?
 
Тема на 5+ :)
Где-нить на RSDN народ бы изгалялся недели 2.
Но как-то без фантазии такая суперзадача решается... я бы сделал
Код:

#include <stdio.h>

void main () {
 int xyz[3]={0,0,0};
 char *XYZ="xyz";
 for (int i=0; i<3; i++)
 for (int j=i+1; j<3; j++)
  if (xyz[i]==xyz[j]) printf ("\n%c=%c",XYZ[i],XYZ[j]);
}

или

Код:

#include <stdio.h>
#include <string.h>

void main () {
 int x=0,y=0,z=0;
 char *s="\0\0\0\0\0\0\0\0\0\0\0";
 if (x==y) strcat (s,"X=Y");
 if (x==z) strcat (s," X=Z");
 if (y==z) strcat (s," Y=Z");
 printf ("\n%s",s);
}

или лучше всего

Код:

#include <stdio.h>
#define RAVNO(a,b) (a==b?#a"="#b:" ")

void main () {
 int x=0,y=0,z=0;
 printf ("\n%s %s %s",RAVNO(x,y),RAVNO(x,z),RAVNO(y,z));
}

или еще лучше
Код:

#include <stdio.h>

int ravno(int x,int y) {
 int c=0; unsigned r=0x0001;
 while (1) {
  if ((x&r)==(y&r)) c++;
  if (r==0x8000) break;
  r<<=1;
 };
 return c==16;
}

void main () {
 int x=0,y=0,z=0;
 printf ("\n%s",ravno(x,y)?"x=y":"");
 printf ("\n%s",ravno(x,z)?"x=z":"");
 printf ("\n%s",ravno(y,z)?"y=z":"");
}


Эх, значения забыл вывести, но мож поставят-таки зачОт?

P.S. Когда исправят баг с левой фигурной скобкой внутри code ?

Werehuman 25.06.2009 12:07

Re: есть кто в BORLAND C++ шарит?
 
OMFG, конкурс эзотерических программ?
Вот немного мозгое^Hдробильни.
Код:

#include <stdio.h>
#include <string.h>

int main(void)
{
  int x, y, z; char X[4]="x", Y[4]="y", Z[4]="z", N[4]="";
  scanf("%d %d %d", &x, &y, &z);
  printf("%s\n", x == y ? strcat(X, strcat(Y, y == z ? Z : N)) : x == z ? strcat(X, Z) : y == z ? strcat(X, Z) : N);
  return 0;
}


PerC 25.06.2009 17:18

Re: есть кто в BORLAND C++ шарит?
 
Цитата:

Сообщение от Werehuman (Сообщение 1855115148)
конкурс эзотерических программ?

Хм, ну эт тоже зачот (+1)
А если так? Эх, нет под рукой компилятора с Си:
Код:

#include <stdio.h>
#include <string.h>
void main() {
 int a[3]={0,0,0}, *p=a; char *fmt="\nX=Y=Z";
 if (*p==*(p+1)) {
  if (*++p!=*(p+1)) fmt[4]='\0';
 }
 else if (*p==*(p+2)) strcpy (&fmt[3],"Z");
 else if (*++p==*(p+1)) { fmt+=2; *fmt='\n'; }
 else *fmt='\0';
 printf (fmt);
}

Отвлекался на работу... ну и
Код:

#include <stdio.h>

void main() {
 int x=0,y=0,z=0,r=x^y^z;
 if (r==x && r==y && r==z) printf ("\nX=Y=Z");
 else if ((x^y)==0) printf ("\nX=Y");
 else if ((x^z)==0) printf ("\nX=Z");
 else if ((y^z)==0) printf ("\nY=Z");
}

вроде тоже напрашивается


 

12.11.2009, 16:38 [9244 просмотра]


теги: c++ программирование форум алгоритм юмор

К этой статье пока нет комментариев, Ваш будет первым