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


Автор: Павлуха 28.5.2006, 14:28
Ввести массив строк. Строк - не более 15, длина строки - не более 80 знаков. Используя массив указателей на строки, осуществить ввод строк. smile  

Автор: MAKCim 28.5.2006, 15:50
Код

int main()
{
    char strings[15][80];
    unsigned int i=0;
    for (; i<15; ++i)
        gets(strings[i]);    // Нет контроля за буфером
    return 0;
}
 

Автор: Павлуха 28.5.2006, 16:36
Спасибо..............ещё, кстати, как среди всех ввеедённых строках найти самое большое слово и вывести эту строку на экран...........а потом вывести на экран и это слово   smile   smile 
 

Автор: MAKCim 28.5.2006, 16:56
Цитата

найти самое большое слово 

Код

... // код в пред. посте
for (i=0; i<15; ++i)
{
    char* str=strings[i], *old, *beg=NULL, *end=NULL;   // самое большое слово в строке beg...end
    unsigned int sum=0, count;
    while ((old=strtok(str," "))!=NULL)
    {
        if (old!=str) 
        {
            count=old-str;
            beg=str;
            if (strings[i]!=str || *str==' ') 
            {
                --count
                ++beg;
            }
            if (count>sum) sum=count;
            end=old-1;
            str=old;
        }
        else ++str;
    }
}
  

Автор: sergejzr 28.5.2006, 17:37
Модератор: Пожалуйста, один топик - один вопрос. 

Автор: sergejzr 28.5.2006, 17:37
Для домашних заданий, курсовых, существует "Центр Помощи"

Тема перенесена!  

Автор: Friackazoid 28.5.2006, 18:19
И кстати в каком месте тут используються указатели?
если с указателями то так. 
Код

void main ()
{
char *str[15]
for (int i=0; i<15; i++)
{
str[i]=new char[80];
}
}

Ну или можно без выделения памяти, только по моему тебе обязательно надо ввернуть звездочку  smile  

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