Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Напечатать слова в алфавитном порядке 
:(
    Опции темы
ilya0610
Дата 24.1.2014, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 24.1.2014

Репутация: нет
Всего: нет



Дана строка, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв; между соседними словами – запятая, за последним словом – точка. Напечатать: Все слова в алфавитном порядке Вот что у меня получилось сделать это разделить слова и записать их в новый массив, если кто может пояснить или написать, как сделать, буду очень признателен:
Код

#include "stdafx.h"
#include "string.h"
#include "stdio.h"

void razbit(char *str,char slova[30][11],int *nn);
void sort(char *str);

int _tmain(int argc, _TCHAR* argv[])
{
    char s[350] = {"fesa,tre,qwrp,kjfo,aks,ptfgdr,odjhf,bckjd,abgfs.\n"};
    char slova[30][11];
    int i, n = 30;
    gets(s);
    razbit(s, slova, &n);

 
    return 0;
}
void razbit(char*str,char slova[30][11],int *nn)
{        
    int n,i,j;
    char *s, *p = str; 
     n = *nn; 
        for(;*p != '.';) 
        {
            while((*p != '.') && (*p == ','))
                p++; 
                s = p; 
            if (*s != '.') 
            {
                p = strstr(s, ","); 
                if (p == NULL) 
                    p = strstr(s, "."); 
                    j = p - s; 
                    strncpy(slova[n], s, j);
                    slova[n][j]='\0';
                    n++; 
            }
        }
    *nn = n;
}

PM MAIL   Вверх
akizelokro
Дата 28.1.2014, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Код


std::map <string*, less<непомню условие сравения>> mapss;
char * s1[30] = {}, next;
char s[350] = {"fesa,tre,qwrp,kjfo,aks,ptfgdr,odjhf,bckjd,abgfs."};
while (next = strtok(s, ",."))
{
  mapss.insert(next);
}
// и здесь быстренько распечатать


Это сообщение отредактировал(а) akizelokro - 28.1.2014, 01:01


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0393 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.