|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.01.2010, 17:30 | #1 |
Новичок
Джуниор
Регистрация: 11.01.2010
Сообщений: 1
|
задача на с. указатели функции строки(хз как переделать)
изначально смысл задания был
Определить тип предложения. Слова внутри каждого простого предложения отсортировать в об-ратном порядке по алфавиту а теперь мне надо чтобы слова в каждом простом предложение стояли наоборот пример новый год был клевый--->>>>>клевый был год новый #include <stdio.h> #include <string.h> int Number; void Print(char St1[], int W[], int Numb){ int i; for (i=0; i < Numb; i++){ if (St1[W[i]]!=','){ printf("%s\n", & St1[W[i]]); } } } void Scan(char St1[], int W[]){ int Flag=0; int i; for (Numb = 0, Flag = 1, i = 0; St1[i]; i++){ if (St1[i] == ' '){ St1[i] = zerro; Flag = 1; } else if (Flag){ W[Numb++] = i; Flag = 0; } } } void Sort(char St1[], int W[], int Numb){ int i,j; int Temp; for (j = Numb-1; j > 0; j --) for (i = 0; i < j; i ++){ if (strcmp(& St1[W[i]], & St1[W[i + 1]]) < 0){//в выделенном блоке вродебы надо передлывать Temp = W[i]; W[i] = W[i + 1]; W[i + 1] = Temp; } } } void Compound(int sent, char St1[], char St[], int W[]){ int Res=0; int ct=0; do{ printf("\nCurrent simple sentence:\n\n"); for (ct=0; St[ct]!='\0' && St[ct]!=','; ct++){ St1[ct]=St[ct+Res]; } Res += ct; Scan(St1, W); Sort(St1, W, Numb); Print(St1, W, Numb); sent--; } while (sent !=0); } void Simple(char St1[], char St[], int W[]){ int ct=0; do{ St1[ct]=St[ct]; ct++; } while (St[ct]!='\0'); Scan(St1, W); Sort(St1, W, Numb); Print(St1, W, Numb); } int main(){ char St[512]; char St1[512]; int W[512]; int sent=0; int i; printf("Input string: "); gets(St); for (i=0; St[i]; i++){ if (St[i] == ','){ sent++; } } if (sent > 0){ printf("\nCompound, include "); sent++; printf("%d", sent); printf(" sentences:\n"); Compound(sent, St1, St, W); } else{ printf("\nSimple\n"); Simple(St1, St, W); } printf("\nPress key"); return 0; } Последний раз редактировалось нонфактор; 11.01.2010 в 17:37. |
12.01.2010, 16:46 | #2 |
Форумчанин
Регистрация: 18.10.2009
Сообщений: 185
|
я не сильно разбирался в коде, но судя по всему тебе нужно написать чтото вроде этого
Код:
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает." |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите решить задачу ан тему: Указатели, строки, функции обработки строк | Chel | Общие вопросы C/C++ | 3 | 11.10.2009 19:48 |
указатели на функции | MeGaTpoH | Общие вопросы C/C++ | 2 | 18.06.2009 16:27 |
Функции и Указатели на С++ | Wia | Помощь студентам | 3 | 17.04.2009 14:57 |
Указатели. Файлы. Функции | Duleks | Общие вопросы C/C++ | 1 | 15.10.2008 13:53 |
Указатели в функции. | _LEON_ | Общие вопросы C/C++ | 4 | 04.02.2008 10:38 |