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

Строка символов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сложить два пятидесятизначных десятичных числа http://www.cyberforum.ru/cpp-beginners/thread229665.html
Сложить два пятидесятизначных десятичных числа.Плиз помогите решеть,только в С,не в С++
C++ лабораторная работа Помогите, пожалуйста, составить программу для лабораторной. Дан вектор, состоящий из 10 вещественных элементов. Найти сумму положительных элементов, расположенных после первого отрицательного элемента. Предполагается, что первый отрицательный элемент не есть последний элемент массива и что среди элементов массива есть и положительные, и отрицательные элементы. Ввод/вывод – потоковый http://www.cyberforum.ru/cpp-beginners/thread229664.html
C++ Вывести информацию
Вывести информацию об объектах по заданному заказчику Выдает ошибку. Посмотрите в чем дело?
C++ Обьясните как работает программа условие и код есть
Помогите пожалуйста. Я начинающий программист. Вот есть программа вот есть условие. Работает хорошо. Только что делает каждая процедура не понимаю Объясните пожалуйста поэтапно (по строкам, по предложениям, как удобно) как работает и что делает программа. Заранее большое спасибо. Взято отсюда http://acm.timus.ru/problem.aspx?space=1&num=1794. 1794. Шедевры мировой архитектуры Ограничение...
C++ Инкрементация (не могу понять почему так?) http://www.cyberforum.ru/cpp-beginners/thread229626.html
Гуру в программировании на C++ начала изучать язык, и сразу вопросы почему при выполнении #pragma argsused #include <conio.h> #include<iostream.h> int main() { int a=0;
C++ Как можно организовать цикл? помогите пожалуйста, как можно организовать цикл, вот например в этом:#include<iostream.h> void main() { float a, b, c; cout<<"A="; cin>>a; cout<<"B="; cin>>b; подробнее

Показать сообщение отдельно
zidans
0 / 0 / 0
Регистрация: 30.10.2010
Сообщений: 45
16.01.2011, 17:49     Строка символов
Здравствуйте, помогите пожалуйста с дополнительным вопросом по программе.

По данному заданию написана программа
Дана строка символов. Распечатать слова, отличные от последнего, оставив в каждом слове только первые вхождения каждой буквы.
например:
"Ptici preleteli vesna prichla"
на экран он выводит
"Ptic prelti vesna"

Так вот, дополнительный вопрос заключается в следующем: надо подсчитать количество слов в ответе (для данного примера это должно быть 3). То есть каким то макаром надо что-то изменить или дополнить в проге.


# include<iostream.h>
# include<math.h>
# include<string.h>
# include<stdio.h>
# include<ctype.h>

void main(void)
{
M:
int n, i, j=0, t, k=0, p, q=0, z=0, w=0,x=0, b=0, m=0, g=0;
int r[100][2];
char *s;
s=new char[100];
char *c;
c=new char[100];
char *a;
a=new char[100];
char *y;
y=new char[100];
cout <<"vvod texta:"<<endl;
cout <<""<<endl;
gets(s);
//gets(c);
cout <<""<<endl;
n=strlen(s);
cout <<"kolichestvo simvolov n="<<n<<endl;
for (i=0;i<n;i++)
{
t=isalnum(s[i]);
if (t==0)
{
r[k][1]=i;
k++;
}
}
t=(r[k-1][1])+1;
cout <<"kolichestvo slov k="<<k+1<<endl;
if (k==0)
t=0;
cout <<"index poslednego slova i="<<t<<endl;
cout <<""<<endl;


cout <<"..........................."<<endl;
cout <<"otvet:"<<endl;



// posledn slovo zapishem v "c"
cout <<"poslednego slovo"<<endl;
for (p=t;p<n;p++)
{
c[z]=s[p];
z++;
}


for (i=0;i<z;i++)
cout<<""<<c[i];
cout <<""<<endl;


cout <<"konecny text"<<endl;
for (i=0;i<k;i++)

{
w=r[i][1]-q;
//cout<<"w="<<w<<endl;
if (w==z)
{
j=0;
for (p=q;p<r[i][1];p++)
{
a[j]=s[p];
j++;
}

for (j=0;j<z;j++)
{
if(a[j]!=c[j])
x++;
}


if (x>0)
{
b=0;
y[b]=s[q];
// ubiraet povtoryaushiesya bukvy
for (p=q+1;p<=r[i][1];p++)
{
g=0;
for (m=0;m<=b;m++)
if (y[m]!=s[p])
{
g++;
if (m==b)
if (m==g-1)
{
b++;
y[b]=s[p];
}
}
}


for (p=0;p<b;p++)
cout<<""<<y[p];
}

cout <<" ";
x=0;




}
else
{
b=0;
y[b]=s[q];
// ubiraet povtoryaushiesya bukvy
for (p=q+1;p<=r[i][1];p++)
{
g=0;
for (m=0;m<=b;m++)
if (y[m]!=s[p])
{
g++;
if (m==b)
if (m==g-1)
{
b++;
y[b]=s[p];
}
}
}


for (p=0;p<b;p++)
cout<<""<<y[p];
}
cout <<" ";
q=r[i][1]+1;


}

cout <<""<<endl;
cout <<"=========================="<<endl;
cout <<""<<endl;
cout <<""<<endl;
cout <<"vihod ('yes'=1)"<<endl;
cout <<"yes=";
cin>>i;
if (i==1)
goto K;
else
goto M;

K:;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru