"Все сообщения пользователя arhangel14"


Страницы: 1
выравнивание текста по правому краю
Пользователь: arhangel14
Сообщений: 10
Статус: Пользователь
Зарегистрирован:
14 октября 2008, 3:19
Был:15 января 2009, 20:15
arhangel14
smsup
Дата: 19 декабря 2008, 3:36 Сообщение №
необходимо введенный текст выровнять по правому краю.
Пользователь: arhangel14
Сообщений: 10
Статус: Пользователь
Зарегистрирован:
14 октября 2008, 3:19
Был:15 января 2009, 20:15
arhangel14
smsup
Дата: 19 декабря 2008, 3:37 Сообщение №
не могу допереть,каким образомsm помогите хотя бы примерными набросками плз.
Пользователь: arhangel14
Сообщений: 10
Статус: Пользователь
Зарегистрирован:
14 октября 2008, 3:19
Был:15 января 2009, 20:15
arhangel14
smsup
Дата: 22 декабря 2008, 5:57 Сообщение №
Visual C++ 6.0

Пользователь: arhangel14
Сообщений: 10
Статус: Пользователь
Зарегистрирован:
14 октября 2008, 3:19
Был:15 января 2009, 20:15
arhangel14
smsup
Дата: 19 декабря 2008, 3:44 Сообщение №
реализовать операции.объект строка символов.

#include <string.h>
int main()

{

char str[10] = "abcdef";
int slen = strlen(str);

for(int i=0;i<slen/2;i++)

{

str[i] = str[i] + str[slen-i-1];
str[slen-i-1] = str[i] - str[slen-i-1];
str[i] = str[i] - str[slen-i-1];
}
return 0;
}
зеркальное отражение,высвечивает черный экран(прога Visual C++ 6.0) подскажите как грамотно вывести на экран строку "abcdef" в перевернутом виде.
а по сравнению нету идей(((
Пользователь: arhangel14
Сообщений: 10
Статус: Пользователь
Зарегистрирован:
14 октября 2008, 3:19
Был:15 января 2009, 20:15
arhangel14
smsup
Дата: 22 декабря 2008, 6:01 Сообщение №
спасибо,все равно не хочет(
Пользователь: arhangel14
Сообщений: 10
Статус: Пользователь
Зарегистрирован:
14 октября 2008, 3:19
Был:15 января 2009, 20:15
arhangel14
smsup
Дата: 22 декабря 2008, 6:43 Сообщение №
оу,прошу прощения,работает)

Пользователь: arhangel14
Сообщений: 10
Статус: Пользователь
Зарегистрирован:
14 октября 2008, 3:19
Был:15 января 2009, 20:15
arhangel14
smsup
Дата: 14 января 2009, 3:07 Сообщение №
помогите плз разобраться почему не работает программа,должна строить злощастную выпуклую оболочку точек на плоскости...
сначала вводиться количество точек вобщем,потом координаты точек....тем не менее ни о какой выпуклой оболочки не выдает....

#include <stdio.h>
#include <stdlib.h>
#include <math.h>


#define EPS 1E-10
#define N 1000

int n; // число точек всего
double x[N][2]; // массив с координатами точек

/*
текущий центр координат (для вычисления вектороного произведения в функции cmp)
*/
double *xt;

double xtstatic[2];


/*
Находит знак векторного произведения векторов, проведеденных из
точки xt в точки a и b
*/
int
cmp (const void *a, const void *b)
{
double *p1, *p2;
double s;
p1 = (double *) a;
p2 = (double *) b;

s = (p1[0] - xt[0]) * (p2[1] - xt[1]) - (p2[0] - xt[0]) * (p1[1] - xt[1]);
if (fabs (s) < EPS)
{
s =
(p1[0] - xt[0]) * (p1[0] - xt[0]) + (p1[1] - xt[1]) * (p1[1] - xt[1]);
s -=
(p2[0] - xt[0]) * (p2[0] - xt[0]) + (p2[1] - xt[1]) * (p2[1] - xt[1]);
if (fabs (s) < EPS)
return 0;
if (s < 0)
return 1;
return -1;
};
if (s < 0)
return 1;
return -1;
}


/*
Для точек из глобального массива x находит выпуклую оболочку и кладёт
индексы точек выпуклой оболочки в массив stack
*/
int
convexhull (int *stack)
{
int i_ymin; // индек точки с минимальной координатой y
int sp; // индекс последнего элемента в стеке; в конце
// — число точек в выпуклой оболочке

for (int i = 0; i < n; i++){
if (x[i][1] < x[i_ymin][1]) i_ymin = i;
}

xt = xtstatic;
xt[0] = x[i_ymin][0];
xt[1] = x[i_ymin][1];
x[i_ymin][0] = x[0][0];
x[i_ymin][1] = x[0][1];
x[0][0] = xt[0];
x[0][1] = xt[1];

qsort (&x[1], n, 2 * sizeof (double), cmp);

stack[0] = 0;
stack[1] = 1;
stack[2] = 2;

sp = 2;
i = 2;
while (i < n + 1)
{
xt = x[stack[sp - 1]];
if (cmp (&x[stack[sp]][0], &x[(i + 1) % n][0]) < 0)
{
stack[++sp] = (++i) % n;
} else {
sp--;
}
}
return sp;
}

int
main ()
{
int stack[N];

scanf ("%d", &n);
for (int i = 0; i < n; i++) scanf ("%lf %lf", &x[i][0], &x[i][1]);


int length = convexhull (stack);
return 0;
}

Страницы: 1