Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Символьная строка


Автор: bncom 16.5.2006, 16:43
Доработайте, пожалуйста, программу.. она у меня что-то глючит...

В символьной строке удалить все слова, начинающиеся и заканчивающиеся на одну и ту же букву.
Код


#include <stdio.h> 
#include <conio.h> 

char test; 
char ch[128]; 

void main ()
{ 
    int i=0, j=0, k=0;
    
    printf("Введите символьную строку:");
    gets(ch);
    printf("\n");
    while (ch[i]!=test)
    {
        j=i;  
        while (ch[i]!=' '&&ch[i]!=test)
        i++;
            if (ch[j]!=ch[i-1])
                {
                printf("Слово, не удовлетворяющее условию: ");
                for (k=j;k!=i;++k)printf("%c", ch[k]);
                printf("\n");
                }
            i++;
    }
getch();
} 
 

Автор: Romikgy 16.5.2006, 16:56
Цитата(bncom @  16.5.2006,  15:43 Найти цитируемый пост)
test

чему равна? 

Автор: Akina 16.5.2006, 17:20
А что, в Сях нет функции Split? что ты пробелы искаешь.... 

Автор: ffldove 16.5.2006, 17:50
подскажите что-то неправильно в class что именно как ввести с клавиатуры n если можно пишите на мыло ffldove@yandex.ru
Код
#include <iostream.h>
class object
{  
int n;
double a[n];
double m[n][n];
public:
object (int);
~object();
void postr();
void vv();
void viv();
};
object::object(int l)
{
cin>>l;
n=new int l;
}
void vv()
{
for (int i=0;i<n;i++)
for (int o=0;o<n;o++)
cin>>l.m[i][o];
}
void postr()
{
int i,l;
i=0;
l=0;
for (i=0;i<n;i++)
{
if (m[i][i]<0) while (m[i][l]>0)
{
a[i]=m[i][l];
l++;
}
else
for (int j=i;j<n;j++)
if (m[i][j]>0) a[i]=m[i][j];
}
}
void main ()
{
object l;
l.vv();
l.postr();
l.viv();
}
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)