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

Подсчитать наибольшее количество подряд идущих пробелов в тексте - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
greendoom
 Аватар для greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 56
18.04.2011, 22:32     Подсчитать наибольшее количество подряд идущих пробелов в тексте #1
С помощью текстового редактора БЛОКНОТ создать файл, содержащий
текст, длина которого не превышает 700 символов (длина строки текста не должна
превышать 70 символов).
Файл должен иметь расширение DAT.
Написать программу, которая:
− выводит текст на экран дисплея;
− определяет наибольшее количество подряд идущих пробелов в тексте.

Вот нарыл на форумах что- то, переделал, перештопал....)) но все равно тока выводит из файлика текст.. второе задание не выполняется.. Где- то прокол есть один, но где?

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
#include <stdio.h>
#include <string.h>
#include <iostream.h>
#include <windows.h>
 main()
{SetConsoleOutputCP(1251);
char str[70];
int i,kol=1,maxkol=0;
FILE *f1;
bool one = false;
f1=fopen("bloknot.dat","r");
        if (f1==NULL) 
         puts("error");
     else
       {
        while(!feof(f1))
        {  fgets(str,70,f1);
                  puts(str); }
                  fclose(f1);
        }
        
    while(!feof(f1))
        {  fgets(str,70,f1);     
            { if (str[i] == ' ') one = true;
            if (str[i]==' ' && str[i+1]==' ')     kol++; 
            else {
                        if(maxkol < kol) maxkol = kol;
                        kol = 1;
                }
            
        }         
            
            }
            if(!one) maxkol--;
cout<<maxkol;   
system ("pause");
return 0;
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2011, 22:32     Подсчитать наибольшее количество подряд идущих пробелов в тексте
Посмотрите здесь:

C++ Подсчитать наибольшее количество идущих подряд пробелов
C++ Подсчитать наибольшее количество идущих подряд пробелов
C++ Подсчитать наибольшее количество идущих подряд пробелов
C++ Дано предложение. Найти наибольшее количество идущих подряд пробелов
C++ В строке посчитать наибольшее количество идущих подряд пробелов
C++ Подсчитать наибольшее количество идущих подряд пробелов в строке
Вывести наибольшее количество пробелов, идущих подряд C++
Подсчитать наибольшее количество идущих подряд пробелов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
19.04.2011, 08:42     Подсчитать наибольшее количество подряд идущих пробелов в тексте #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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BUF 70
 
int main()
{       FILE *f;
    char cur[BUF];
    int i,start,finish,max;
 
    f = fopen ("test.dat", "r" ) ;
        if ( f == NULL )
        {       puts ( "Cannot open file" ) ;
                getchar();
                exit(1) ;
        }
 
        max = 0;
        while (1)
        {   fgets (cur, BUF, f);
            if(cur[strlen(cur)-1]=='\n') cur[strlen(cur)-1]='\0';//отсекаем лишний ENTER
            puts(cur);
            if(cur[0]==' ') start = 0;
            for(i=1;i<strlen(cur);i++)
            {   if(cur[i-1]!=' '&&cur[i]==' ') start = i;
                if(cur[i-1]==' '&&cur[i]!=' ') 
                {   finish = i-1;
                    if(finish-start+1 > max) max = finish-start+1; //макс длина серии пробелов
                }
            }
            if(feof(f)) break;
        }
        fclose (f) ;
 
    printf("\n\nMaximum series: %d spaces\n",max);
    
    getchar();
    return 0;
}
Миниатюры
Подсчитать наибольшее количество подряд идущих пробелов в тексте  
greendoom
 Аватар для greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 56
19.04.2011, 20:45  [ТС]     Подсчитать наибольшее количество подряд идущих пробелов в тексте #3
Как работающий вариант переделанный и немного более понятный для меня:
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
#include <stdio.h>
#include <string.h>
#include <iostream.h>
#include <windows.h>
 main()
{SetConsoleOutputCP(1251);
char str[70];
int i,kol=1,maxkol=0;
FILE *f1;
bool one = false;
f1=fopen("bloknot.dat","r");
        if (f1==NULL) 
         puts("error");
     else
     {
        while(!feof(f1))
        {  fgets(str,70,f1);
                  puts(str); }
                  fclose(f1);
        }
f1=fopen("bloknot.dat","r");
        if (f1==NULL) 
         puts("error");
     else       
    while(!feof(f1))
        {  fgets(str,70,f1);  
         for(i = 0; i < str[70]; i++)   
            { if (str[i] == ' ') one = true;
            if (str[i]==' ' && str[i+1]==' ')     kol++; 
            else {
                        if(maxkol < kol) maxkol = kol;
                        kol = 1;
                }
            }         
            
            }
            if(!one) maxkol--;
cout<<"Êîëè÷åñòâî ïðîáåëîâ ñîñòГ*âëÿåò "<<maxkol;   
system ("pause");
return 0;
 }
Yandex
Объявления
19.04.2011, 20:45     Подсчитать наибольшее количество подряд идущих пробелов в тексте
Ответ Создать тему
Опции темы

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