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

Переворот строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нахождение среднего геометрического определенного двумерного массива http://www.cyberforum.ru/cpp-beginners/thread221168.html
Программа не хочет компилироваться. И не уверен, правильно-ли находится само это " среднее геометрическое". Поправьте,плиз, что не так...с небольшим разъяснением #include <iostream> #include <numeric> #include <cmath> using namespace std; int main()
C++ Прога Ребята, помогите написать программу, которая читает из cin входные числа (целые или вещественные) и суммирует, умножает или делит их, прекращая процесс после ввода 0 в случаях сложения и деления и q(Q) в случае умножения. Сконструируйте три версии этой программы для каждого случая с использование циклов while, do-while, for. http://www.cyberforum.ru/cpp-beginners/thread221165.html
cin.eof и cin.fail C++
Для чего они нужны и какая разница между ними; cin.eof и cin.fail Я так понимаю они(оба) принемают 2 значения типа bool=true and false
C++ Работа со стеком
Задача: Написать программу которая создает стек целых чисел считываемых из файла и удаляет из него повторяющиеся числа. Вывести элементы полученного стека на экран. Все прошлые лабы сдал на ура, а с этой загвоздка. Не могу понять как работает стек...
C++ Строка getline() C++ http://www.cyberforum.ru/cpp-beginners/thread221155.html
Ув. программисты! Подскажите пожалуйста новичку в чём проблема этой проги. Программа запрашивает строчку, выводит на экран эту строчкук и её размер. Потом запрашивает 2-ю строчку и тоже выводит размер. Вроде всё просто. Но! Ввожу 1 сточку, и что бы её вывело вместе с размером надо нажать Enter 2 раза. И соответственно дальше программа корректно не выполняется. Понимаю, что где-то ошибка, но...
C++ Строки Отредактировать данное предложение, удаляя из него те слова, которые встречаются в предложении заданное число раз, с учётом симметричных слов данному. подробнее

Показать сообщение отдельно
Егорка47
7 / 6 / 1
Регистрация: 26.10.2010
Сообщений: 249
27.12.2010, 12:47     Переворот строки
Ребят,у меня есть 2 часа чтоб понять!УМОЛЯЮ, помогите...объясните в этой функции( которая переворачивает строку и читатет ее) строку
b=strlen(str1)-1;
почему - 1??

str2=(char*)calloc(strlen(str1)+1,1);
а тут почему + 1??

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)        //передаем в функцию исходную строку и разделительные символы
{
int i,n,a,b;
char *str2,*tmp;
str2=(char*)calloc(strlen(str1)+1,1);       //выделяем кусок памяти под строку
b=strlen(str1)-1;               //номер конечного элемента
do {
tmp=(char*)calloc(strlen(str1),1); 
for(i=b;i>=0;i--) {             //ищем конец слова и запоминаем его в переменной а
if(check_signs(str1[i],signs)) {
a=i;
break;
}
else continue;
}
for(i=a;i>=0;i--) {             //теперь ищем начало слова и запоминаем его в переменной b
if(check_signs(str1[i],signs)==0) {          //если под номером i разделитель
b=i+1;
break;
}
else
if((i==0)&(check_signs(str1[i],signs)!=0)) {       //если под номером i начало строки но не разделитель
b=i;
break;
}
else continue;
}
n=a-b+1;
memcpy(tmp,&str1[b],n);
strcat(str2,tmp);           //собираем новую строку
strcat(str2," ");
b=b-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");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru