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

помогите подправить программу - C++

Восстановить пароль Регистрация
 
Superball1
 Аватар для Superball1
1 / 1 / 0
Регистрация: 25.04.2009
Сообщений: 15
09.04.2012, 21:01     помогите подправить программу #1
Здравствуйте, есть следующее задание: С клавиатуры ввести текст, признаком конца ввода считать точку. Создать две функции для работы с текстом:
• подсчёт количества слов;
• поиск самого короткого слова.

Код:

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
#include <windows.h>
#include <stdio.h>
int quantity(char array[ ], int k)
{
    int amount=1;
    for (int i=0;i<k;i++) if(array[i]=='_') amount++;
    return amount;
}
void word(char array[ ], int k)
{
    int j=0;
    int sm=0;
    int temp=0;
    int buf[80];
    int index_begin[80];
    int index_end[80];
    char word[80];
    for (int i=0;i<k;i++) {buf[i]=0; index_begin[i]=0; index_end[i]=0;}
    for (i=0;i<k;i++) 
    {
        if(array[i]=='_') {temp++; index_begin[temp]=i+1;} 
        else {buf[temp]++; index_end[temp]=i;}
    }
    sm=buf[0];
    for (i=0;i<temp;i++) if(buf[i]<sm) sm=i;
    for (i=index_begin[sm];i<=index_end[sm];i++) {word[j]=array[i]; printf("%c",word[j]); j++;}
}
void main()
{
    int i,k,amount;
    char text[80],sym;
    k=0;
    for (i=0;i<80;i++) text[i]='.';
    printf ("Enter text:\nThe prevention 1: text will be read to'.'\nThe prevention 2: instead of blanks use '_'\n");
    scanf ("%s",&text);
    while (sym!='.') {sym=text[k]; k++;}
    amount=quantity(text,k);
    printf("Quantity of words: %d.\n",amount);
    printf("The shortest word: '");
    word(text,k);
    printf("'.\n");
}
Помогите подправить пожалуйста.

Добавлено через 1 час 22 минуты
все еще нужна помощь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2012, 21:01     помогите подправить программу
Посмотрите здесь:

помогите пожалуйста подправить код C++
C++ c++ пожалуйста помогите подправить код
C++ Помогите подправить код
C++ Необходимо подправить программу
Нужно подправить программу C++
Подправить программу C++
C++ Подправить программу
C++ Подправить программу на миссивы, си++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
001_alex
9 / 13 / 1
Регистрация: 07.04.2012
Сообщений: 56
09.04.2012, 23:31     помогите подправить программу #2
Вот считает количесто слов!
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
#include <vcl.h>
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
 
void main()
{
  char *a = new char [82];
  int i = 0 ,j = 0 ,k = 1;
  puts("Vvedite stroku:");
  gets(a);
  int n = strlen(a);
 
  while(i < n)
     if( (ispunct(a[i])) || (a[i]==' ') )/*Åñëè a[i] Г°Г*ГўГҐГ* Г§Г*Г*ГЄГі ГЇГіГ*ГЄГІГіГ*öèè*/
     {
        /*Ïðîâåðÿåì ñëåäóþùèå a[i]-ГҐ Г*Г* Г§Г*Г*ГЄГЁ ГЇГіГ*ГЄГІГіГ*öèè*/
        while((ispunct(a[i])) || (a[i]==' '))
        {
           j=j+1;
           i=i+1;
        }
        /*Ñ÷èòГ*ГҐГ¬ ñëîâГ**/
        k=k+1;
     }
     else
     {
        j=j+1;
        i=i+1;
     }
  printf("\n Kol slov -> %d",k);
  getch();
}
Если никто сегодня не подскажет насчёт второй задачки, напишу завтра вечером!
Superball1
 Аватар для Superball1
1 / 1 / 0
Регистрация: 25.04.2009
Сообщений: 15
09.04.2012, 23:41  [ТС]     помогите подправить программу #3
Спасибо, я уже разобрался. Просто нужно было инициализировать sym=0, и все работает
Yandex
Объявления
09.04.2012, 23:41     помогите подправить программу
Ответ Создать тему
Опции темы

Текущее время: 15:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru