Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Какой код у тире? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Даны натуральное , символьный файл и текстовый файл . Файл содержит 30 слов , каждое из которых будем называть ключевым http://www.cyberforum.ru/cpp-beginners/thread836125.html
Добрый день, помогите пожалуйста сделать вот такую программу. Даны натуральное k , символьный файл f и текстовый файл f1 . Файл f содержит 30 слов , каждое из которых будем называть ключевым....
C++ Обнаружить в заданном тексте Обнаружить в заданном тексте слова, содержащие более 3-х гласных букв, сначала распечатать их, а потом заменить гласные буквы символом "-" и снова распечатать их. http://www.cyberforum.ru/cpp-beginners/thread836123.html
C++ В матрице найти максимальный элемент среди элементов (используя подпрограмму)
Дана квадратная матрица А размерностью 5. Расположить элементы каждой строки заданной матрицы по убыванию. В полученной матрице найти максимальный элемент среди элементов, расположенных на главной...
C++ Найти значения элементов массива по формуле
Дан массив чисел (Zk) k=1..8. Найти значение элементов массива (Xk) k=1..8 по формуле Xk= ((Zk+yk)2)/2, где yk=2*(пи-Zk)*sqrt(Zk) вычисляется с помощью подпрограммы.
C++ Дан массив 49 элементов. Сделать перестановку чисел в 1ой и последней семерке http://www.cyberforum.ru/cpp-beginners/thread836104.html
Подскажите, пожалуйста, как сделать перестановку чисел в семерке. Т.е. число в 0 индексом поменять с 6, 1 - с 5ым, 2ое с 4м, 3 остается неизменным. Тоже самое в последней семерке. Я пытался...
C++ Как переводится эта строка? lf.lfWeight=iAttributes&EZ_ATTR_BOLD?700:0; подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
12.04.2013, 21:27  [ТС]
И как вообще переделать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
//=================================================================================================
void                          LeftText                       (HDC                   &Context     ,
                                                              int                    Left        ,
                                                              int                    Red         ,
                                                              int                    Top         ,
                                                              int                    Right       ,
                                                              std::string            Text        ,
                                                              int                   &EndX        ,
                                                              int                   &EndY1       ,
                                                              int                   &EndY2       )
{
 int          CharWidth;
 int          CharHeight;
 int          x;
 int          WordRight;
 SIZE         WordSize;
 int          y;
 size_t       L;
 TEXTMETRIC   TextMetrics;
 std::string  Word;
 char        *p;
 GetTextMetrics(Context, &TextMetrics);
 CharWidth=TextMetrics.tmAveCharWidth;
 CharHeight=TextMetrics.tmHeight+TextMetrics.tmExternalLeading;
 for (x=Left+Red, y=Top+CharHeight; !Text.empty(); )
 {
  Word=FirstWord(Text);
  p=(char *)Word.c_str();
  L=Word.length();
  GetTextExtentPoint32(Context, p, L, &WordSize);
  WordRight=x+WordSize.cx;
  if (WordRight>=Right)
  {
   x=Left;
   WordRight=x+WordSize.cx;
   y+=CharHeight*3/2;
  }
  TextOut(Context, x, y, p, L);
  x=WordRight+CharWidth;
 }
 EndX=x;
 EndY1=y-CharHeight;
 EndY2=EndY1+CharHeight*3/2;
}
//=================================================================================================
std::string                   FirstWord                      (std::string           &Text        )
{
 size_t        i;
 size_t        L;
 unsigned char c;
 bool          Flag;
 std::string   Result;
 for (L=Text.length(), i=0, Result="", Flag=false; i<L; ++i)
 {
  c=Text[i];
  if (c<=32)
  {
   if (Flag)
   {
    Text.erase(Text.begin(), Text.begin() + i);
    return Result;
   }
   continue;
  }
  Flag=true;
  Result=Result+(char)c;
 }
 Text="";
 return Result;
}
//=================================================================================================
void                          CenterText                     (HDC                   &Context     ,
                                                              int                    Left        ,
                                                              int                    Top         ,
                                                              int                    Right       ,
                                                              std::string            Text        ,
                                                              int                   &EndY        )
{
 int          RowWidth;
 int          StringWidth;
 std::string  Buffer;
 std::string  Word;
 TEXTMETRIC   TextMetrics;
 char        *p;
 size_t       L;
 size_t       Words;
 int          CharWidth;
 int          CharHeight;
 int          WordRight;
 SIZE         WordSize;
 bool         Flag;
 int          x;
 int          y;
 GetTextMetrics(Context, &TextMetrics);
 CharWidth=TextMetrics.tmAveCharWidth;
 CharHeight=TextMetrics.tmHeight+TextMetrics.tmExternalLeading;
 RowWidth=Right+Left;
 y=Top+CharHeight;
 for (Text; !Text.empty(); )
 {
  for (Flag=false, Buffer=Text, StringWidth=0, Words=0; (StringWidth<RowWidth)&&(!Buffer.empty()); )
  {
   Word=FirstWord(Buffer);
   p=(char *)Word.c_str();
   L=Word.length();
   GetTextExtentPoint32(Context, p, L, &WordSize);
   WordRight=StringWidth+WordSize.cx;
   if (Flag)
   {
    WordRight+=CharWidth;
   }
   Flag=true;
   if (WordRight>=RowWidth)
   {
    break;
   }
   StringWidth=WordRight;
   ++Words;
  }
  x=(Left+Right-StringWidth)/2;
  for (; Words>0; --Words)
  {
   Word=FirstWord(Text);
   p=(char *)Word.c_str();
   L=Word.length();
   GetTextExtentPoint32(Context, p, L, &WordSize);
   TextOut(Context, x, y, p, L);
   x+=WordSize.cx;
   x+=CharWidth;
  }
  y+=CharHeight*3/2;
 }
 EndY=y-CharHeight;
}
//=================================================================================================
на TextOutW?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru