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

функция для чтения строки задом на перед - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задачки в с++ http://www.cyberforum.ru/cpp-beginners/thread211623.html
решите задачу 1.Дано целое число в диапазоне 10–40, определяющее количество учебных
C++ Два шарик Подскажите, плз, новичку, где в нижеследующей проге ошибки undefined reference to `Draw2Circle(int, int, int)' ld returned 1 exit status : #include "TXLib.h" void DrawCircle (int x, int y, int r); void Draw2Circle (int x2, int y2, int r); void MoveCircle (int x, int y, int v, int dx, int dy, int r); void Move2Circle (int x2, int y2, int v2, int dx2, int dy2, int r); http://www.cyberforum.ru/cpp-beginners/thread211596.html
String C++
почему вот в этой программе измняется строка есил к ссылке на неё прибавить число? #include <iostream.h> int main(void) { int p=3; char b; cin.getline(b,60); char *string=b;
Просмотрщик текстовых файлов C++
Всем привет, помогите решить зазачу. Написать программу, которая позволяет просматривать текстовые файлы (выводит на экран содержимое файла). Имя просматриваемого файла должно вводиться с клавиатуры. Вывод содержимого файла произвести постранично.
C++ Функция. http://www.cyberforum.ru/cpp-beginners/thread211576.html
1.Вводятся два комплексных числа в алгебраической форме. Написать функцию, которая вычисляет частное от деления двух введённых комплексных чисел и выводит результат в алгебраической форме. 2.Написать функцию, вычисляющую векторное произведение двух векторов, представленных в виде массивов.
C++ Перестановка элементов массива Подскажите пожалуйста, как переставить элементы массива в указанного по указанный!!! подробнее

Показать сообщение отдельно
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249
15.12.2010, 14:39     функция для чтения строки задом на перед
Здравствуйте.
вот функция
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
void reverse(char *str1,char *signs) // 2 задание по идеи
{
int i,n,a,b; //..
char *str2,*tmp; //..
str2=(char*)calloc(strlen(str1)+1,1); // что значит эта строка?
b=strlen(str1)-1; // б присваиваем длину строки стр1, а -1 почему?
do {
tmp=(char*)calloc(strlen(str1),1); // ???
for(i=b;i>=0;i--) { //.....
if(check_signs(str1[i],signs)) { // если 1 функция.????..то
a=i;
break;
}
else continue;
}
for(i=a;i>=0;i--) {
if(check_signs(str1[i],signs)==0) { // ????
b=i+1;
break;
}
else
if((i==0)&(check_signs(str1[i],signs)!=0)) { // ???
b=i;
break;
}
else continue;
}
n=a-b+1; // почему??
memcpy(tmp,&str1[b],n); // копируем содержимое строки тмп в стр1. так??
strcat(str2,tmp); // что это значит?
strcat(str2," "); // и это что?
b=b-1; // почему -1?
free(tmp); //освобождаем память
}
while(i!=0);
printf("\nNew string:\n\n");
for (i=0;i<strlen(str2)-1;i++)
printf("%c",*(str2+i));
printf("\n");
}
к этому заданию

Дана строка, содержащая текст на естественном языке. Напишите функцию, создающую новую строку, в которой все слова из старой строки следуют в обратном порядке и разделены одним знаком пробела. Исходная строка может содержать различные знаки-разделители (пробелы, запятые, точки и т.п.). Полный набор знаков-разделителей передается функции при её вызове.

Помогите с комментариями, заранее благодарен!

Добавлено через 1 минуту
Цитата Сообщение от Егорка47 Посмотреть сообщение
check_signs

вот эта функция
bool check_signs(char a,char *signs)
{
int i;
for (i=0;i<strlen(signs);i++){
if(a==signs[i])
return false;
}
return true;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru