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

Работа с рядками - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нет инициализации графического режима в BorlandC++ под ДОС http://www.cyberforum.ru/cpp-beginners/thread28439.html
Привет всем,проблема такая после относительно долгих вычислений стараюсь инициализировать графический режим,но он выдает ошибку - Not enough memory to load driver (не хватает памяти для загрузки драйвера),хотя если закоментить эти вычисления все проходит нормально и gdriver возращает 9(вместо - 5). В чем проблема подскажите плиз smile smile smile Уже задолбался,ток эта проблема,ниже приведен...
C++ А вот что за стеки! В свое время мне трудно далась тема создания и вывода на печать текстовых файлов. Сейчас вспомнилось и хочу поделиться. int Create_txt_File (char *filname) { FILE *pF; if ((pF=fopen (filname,"w"))== NULL) return -1; char buf; gets (buf); strcat (buf,"\n"); while (*buf!='\n') { http://www.cyberforum.ru/cpp-beginners/thread28426.html
C++ Проверка типа
int n; std::cin >> n; Как проверить тип введённых данных? Ведь если введено не int, то программа будет работать не так, как мне нужно.
C++ Работа с мышью
Нужна ваша помощь. Незнаю как заставить двигатся курсор мыши только по окружности радиусом r с центром в точке (x,y), работа с мышью осуществляется через процедурку int86, нужен сам алгоритм не обязательно с его реализацией, главное по подробнее =).
C++ Парность скобок http://www.cyberforum.ru/cpp-beginners/thread28380.html
Суть заключается в том,чтобы прверить на парность 2 видов скобок(круглых и квадратных) рассмотреть не только случаи ((])),но и например ((())).
C++ Поворот матрицы Составить программу решения задачи на С + + и Паскаль. Вывод матрицы на экран оформить в виде процедуры. Дано квадратную матрицу. Превратить ее, повернув на 90 (против сторож стрелки относительно центра. подробнее

Показать сообщение отдельно
katka-_-
Сообщений: n/a
05.04.2009, 17:40     Работа с рядками
мне уже помогли кому будет нада вот:
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#include <conio.h>
#include<iostream>
#include<iomanip>
using namespace std;
 
char strokaS[80];
char strokaS1[1024];
 
union uTypes
{
int i;
double d;
char c;
};
/////////////////////////////////////////////
//Определяем тип строки
/////////////////////////////////////////////
const char * CheckType(const char * szString)
{
uTypes u;
char cCanary;
if (sscanf(szString, "%d%c", &u, &cCanary) == 1) { return "int"; }
if (sscanf(szString, "%f%c", &u, &cCanary) == 1) { return "double"; }
if (sscanf(szString, "%c%c", &u, &cCanary) == 1) { return "char"; }
 
return "string";
}
 
 
/////////////////////////////////////////////
//Преобразует букозяблики в нормальные русские символы
/////////////////////////////////////////////
char* cyr(char* s)
{
unsigned char* p=s;
  while (*p)
  {
    if (*p==184)
    *p+=57;
  else
  {
    if (*p==168)
    *p+=72;
  else
  {
  if (*p>=192&&*p<=239)
    *p-=64;
  else
  {
  if (*p>=240&&*p<=255)
    *p-=16;
  }
  }
  }
   p++;
  }
 
return s;
}
 
/////////////////////////////////////////////
//Сравнивает 2 строки на их похожесть
/////////////////////////////////////////////
int CompareIgnoreCaseLine(const char *l1, const char *l2)
{
    while (*l1 && *l2 && tolower(*l1) == tolower(*l2))
        l1++, l2++;
 
    if (*l1 == '\0' && *l2 == '\0') return 0;
 
    return tolower(*l1)-tolower(*l2);
}
/////////////////////////////////////////////
//
/////////////////////////////////////////////
 
int main(int argc, char* argv[])
{
  char *string;
  int kol=0;
  int k,m=0;
 
  cout << cyr("Введите рядок S: ");
  cin.getline(strokaS,80); //80 это длина текста
 
  cout << cyr("Введите строку S1: ");
  cin.getline(strokaS1,80);
 
  cout << cyr("Введите число копий S: ");
  cin>> kol;
  cin.clear();
 
////////////////////////////////////////////////////
//Копируем в S1 - S kol раз
////////////////////////////////////////////////////
  for (int i = 0; i < kol; i++)
  {
   strcat(strokaS1, strokaS);
  }
 
 cout << "------" << endl;
 cout << cyr("Новое S1= ") << strokaS1 << endl;
 cout << "------" << endl;
////////////////////////////////////////////////////
//Выделяем первое слово из S
////////////////////////////////////////////////////
 string = strchr(strokaS,' ');
 
 if(string)
 {
  strncpy(string,strokaS,string-strokaS);
  cout << cyr("Первое слово S= ") << string << endl;
 }
 else
 {
  cout << cyr("Первое слово S= ") << strokaS << endl;
 }
////////////////////////////////////////////////////
//Количество слов в S
////////////////////////////////////////////////////
 
m=1; //так как всяко в строке уже есть какие то символы
 
for (int i = 0; i < strlen(strokaS); i++)
{
if (strokaS[i]==32)
  {
    k=1;
  }
  else
  {
  if (k==1) {m++; k=0;}
  }
}
 cout << cyr("Всего слов в S= ") << m << endl;
 
////////////////////////////////////////////////////
//Сравниваем S1 и S
////////////////////////////////////////////////////
 if (CompareIgnoreCaseLine(strokaS, strokaS1) == 0)
       cout << cyr("S и S1 одинаковые")<< endl;
       else
       cout << cyr("S и S1 разные")<< endl;
////////////////////////////////////////////////////
//Тип рядка S
////////////////////////////////////////////////////
cout << cyr("Тип рядка S: ")<<CheckType(strokaS)<< endl;
 
 
  getch() ;
        return 0;
}
//---------------------------------------------------------------------------
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru