Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) метод рунге-кутты-мерсона http://www.cyberforum.ru/c-beginners/thread86606.html
нужно написать программу для решения систем из n дифф уравнений методом рунге-кутты-мерсона(он же пятиэтапный метод рунге кутта 4 порядка). вот кусок кода,который считает для одного...
C (СИ) Выбрать все строки из файла, содержащие искомую подстроку, и вывести их на стандартный вывод задом наперед
Здравствуйте. Мне нужно было сделать программу-поисковик по файлу. Задача была следующая. Есть текстовый файл неопределенной длины. Пользователь задает искомую подстроку. Нужно выбрать все строки из...
C (СИ) массив в СИ ( СОРТИРОВКА)
Привет. Сортирую массив так, чтобы сначала шли отрицательные значения, а потом положительные, но, видимо, что-то не так, раз в конце повторяется одно и то же число. И где ощибка? int main(int argc,...
C (СИ) mas+1 - ??? Вот собственно код при обычном boo(mas); - выводит 1234 а при boo(mas+1); - выводит 234 . Почему? Заранее спасибо. int boo(int mas) { int i=0; do{ printf("%d",mas); i++; ... http://www.cyberforum.ru/c-beginners/thread86377.html
C (СИ) Прокомментировать код http://www.cyberforum.ru/c-beginners/thread86299.html
#include <stdio.h> #include <conio.h> int a; int N; float x; void swapFunc(int i1,int i2) { for(int i=0;i<=N;i++)
CИ - Одномерный числовой массив - сортировка, произведение элементов C (СИ)
Здравствуйте. Помогите пожалуйста исправить код программы, которая должна В одномерном массиве, который состоит из n элементов: 1. Рассчитать количесвто элементов больших некоего числа с 2....
в чём ошибка C (СИ)
с использованием оператора выбора написать програму нахождения длины отрезка в метрах.вывод и ввод в цветном экране они должны быть разного цвета . #include<stdio.h> #include<conio.h> void main();...
C (СИ) Необходимо избавиться от оператора goto #include <CONIO.H> #include <STDIO.H> #include <CTYPE.H> #define STARTX 10 #define STARTY 2 int KnightX, KnightY; char *REPEATMSG = "Повторить"; http://www.cyberforum.ru/c-beginners/thread86152.html
C (СИ) Перевести метры в миллиметры http://www.cyberforum.ru/c-beginners/thread86121.html
Помогите пожалуйста с задачей. Русские неметрические еденицы длины.1 верста=500 саженей, 1 сажень=3 аршина, 1=аршин 16 вершков, 1 вершок=34,45 мм. Длина некоторого отрезка составляет p метров....
C (СИ) строки Данная программа должна выводить сообщение " от невроворот ". Но в чем ошибка?! #include <string.h> #include <stdio.h> int main(void) { char *p; http://www.cyberforum.ru/c-beginners/thread86085.html
xenocide
0 / 0 / 1
Регистрация: 06.01.2010
Сообщений: 7
0

Считать количество слов в каждом предложении и вывести на экран самое длинное предложение

17.01.2010, 00:43. Просмотров 819. Ответов 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
 
int main()
{
    char *s = (char*) malloc(255 * sizeof(char));     
    int start=0,max=0,i,t;
 
    printf("Vvedite text: ");
    gets(s);
 
    for (i=0; i<strlen(s)-1; i++)
        if (s[i] == '.' && s[i+1] == ' ')      
        {
            for (t=i+1; t<strlen(s)-1; t++)      // 1) Зачем вводится этот цикл?
                s[t]=s[t+1];
 
            s[strlen(s)-1]='\0';
        }
 
    int old=0;
    for (i=0; i<strlen(s); i++)
    {
        if (s[i]=='.')
        {
            if (i-old>max)          // 2) Для чего вводится переменная old и start, и происходит присвоение?
            {
                max=i-old;
                start=old;
            }
 
            int words=1;
 
            for (t=old; t<i; t++)
                if (s[t]==' ')
                    words++;
 
            printf("Kolichestvo slov v tekush4em predlozhenii: %d\n", words);
 
            old=i;
        }
    }
 
    printf("Samoe dlinnoe predlozhenie: ");
    for (i=start; i<start+max; i++)    // 3) max - это индекс последнего эл-та в самом длинном предложении?
        printf("%c", s[i]);
    printf("\n");
 
    old=0;
    for (i=0; i<strlen(s); i++)
        if ((s[i]==' ' || s[i]=='.' || i==strlen(s)-1))
        {
            if ( (s[i-2]=='a' || s[i-2]=='o' || s[i-2]=='e' || s[i-2]=='u' || s[i-2]=='i') )
            {
                printf("Tekush4ee slovo s predposlednej glasnoj: ");
                for (t=old; t<i; t++)
                    printf("%c", s[t]);    
                printf("\n");
 
                for (t=old; t<strlen(s)-i+old; t++)   // 4) А с этим циклом вовсе не ясно, что к чему прибавляется и отнимается? 
                    s[t]=s[t+i-old+1];
                s[strlen(s)-i+old]='\0';
            }
 
            old=i+1;
        }
 
    printf("Predlozhenie posle ydalenija slov: ");
    for (i=0; i<strlen(s); i++)
        printf("%c", s[i]);
 
    return 0;
}

Если возможно - помогите. Заранее спасибо)

Вернуться к обсуждению:
Считать количество слов в каждом предложении и вывести на экран самое длинное предложение
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2010, 00:43
Готовые ответы и решения:

Найти в каждом предложении самое длинное слово и вывести его
Заданы 2 предложения в файле my.txt. Нужно найти в каждом предложении самое длинное слово и вывести...

Вывести на экран самое длинное предложение
С клавиатуры вводиться текстовая строка.Составить программу которая 1)выводит на экран самое...

Вывести на экран самое длинное предложение
Просьба помочь,и если не трудно немного объяснить,то текстовые рядки даются туго...С клавиатуры...

Необходимо найти в заданном предложении самое длинное слово и вывести на экран
Пожалуйста, помогите найти тут ошибки. Язык -си #include&lt;stdio.h&gt; #include &lt;stdlib.h&gt; int...

Как сделать чтоб в тексте каждое предложение отделялось двумя пробелами и в каждом предложении искалось самое короткое слово
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include...

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