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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
BackCat
Сообщений: n/a
#1

Отсортировать слова - C++

29.05.2010, 17:43. Просмотров 408. Ответов 2
Метки нет (Все метки)

В общем у меня вот такая проблема... Работу надо сделать в среде borland c++ 3.1, я написал код, проверил вроде все работает, однако как выяснилось позже, она не работает с определенными данными, что не так в моей программе понять не могу никак. Огромная просьба помогите, я даже не знаю, что делать.
Вот формулировка задачи:
Разработать программу, которая вводит текст на английском языке и выводит слова текста длиной не более n символов, в которых доля гласных букв (a, e, i, o, u, y) составляет не менее x %.
Вот тот код, который написал я:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
 
void xxx(char word[255], int x, int n);
int b=1;
int main()
{
char text[255], word[255];
int i,j,n,length,x;
cout <<"Vvedite text: ";
gets(text);
cout <<"\nVvedite max dliny slov: ";
cin >>length;
cout <<"\nVvedite procent: ";
cin >>x;
n=0;
for (i = 0; i < strlen(text)+1; i++) {
if (text[i] != char(32) && text[i] != '\0'){
  word[n] = text[i];
  n++;
}else if (n <= length){
  xxx(word,x,n);
  n=0;
}
}
if (b) cout << "\nSlov udovoletvoryachim parametram ne imeetsya!";
getch();
return 0;
}
void xxx(char word[255], int x, int n){
int j,y;
y=0;
for (j = 0; j < n; j++)
if (word[j]=='a' || word[j]=='e' || word[j]=='i' || word[j]=='o' || word[j]=='y' || word[j]=='u') y++;
if ((y*100/n) >= x){
b=0;
 cout<<" ";
 for (j=0; j<n; j++) cout<<word[j];
}
}
//---------------------------------------------------------------------------
http://img139.imageshack.us/img139/4900/drygan.jpg - с такими данными программа работает.
http://img706.imageshack.us/img706/192/nameb.jpg - с этими нет...

Подскажите, что не так пожалуйста

Добавлено через 6 часов 2 минуты
Вверх
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2010, 17:43     Отсортировать слова
Посмотрите здесь:

Отсортировать пузырьком слова - C++
Добрый вечер. Прошу помочь с одним заданием. Изначально нужно было подсчитать кол-во символов в вводимых словах. Теперь мне нужно...

Отсортировать слова по длине - C++
Здравствуйте, у меня есть задание с таким условием: &quot;Есть файл со словами. Вывести на экран все слова в которых количество гласных, стоящих...

Отсортировать слова по длине - C++
Вот условие программы: &quot;Есть файл со словами. Вывести на экран все слова в которых количество гласных, стоящих на позициях с четными и...

Отсортировать слова в предложении по росту - C++
Ребят, мне нужно разработать алгоритм и программу для обработки символьных данных, для работы со строками использовать указатели на тип...

Отсортировать слова в строке в порядке возрастания - C++
Возможно неправильно сформулировал эту нубскую проблему в теме. Надеюсь меня поймете. :) Мне нужно отсортировать слова в строке в...

Необходимо отсортировать слова в строке по алфавиту - C++
Написать программу в которой вводиться рядок слов, отсортировать слова по первой букве, нужно сделать через использование функций.

Отсортировать слова методами Хоора и Шелла - C++
Здравствуйте, ребята. Не могу понять малость. Из интересного нашел часть кода здесь, но библиотеки не все подключены. ...

В строке отсортировать слова и вывести их длину - C++
Необходимо в строке отсортировать слова и вывести их длину. Стандартных функций не использовать.

Отсортировать слова в предложении по их длине,начиная с наибольшего - C++
отсортировать слова в предложении по их длине,начиная с наибольшего

Отсортировать элементы массива слов по последней букве слова - C++
Записал слова в массив. Нужно отсортировать элементы массива по последней букве слова. как обратиться к последней букве слова в массиве. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
29.05.2010, 21:09     Отсортировать слова #2
Тут не хватало else.
C++
1
2
3
4
5
}else if (n <= length){
  xxx(word,x,n);
  n=0;
}
else n = 0;
ПС. Код глаза режет, как оформелнием так и методом работы
BackCat
Сообщений: n/a
29.05.2010, 23:55     Отсортировать слова #3
я идиот...
ЗЫ Сори за код, учусь...Да и ваще дос уг(
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru