Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
shum1k
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 12
1

Определить, какой из знаков препинания встречается чаще всего и реже всего

15.03.2014, 21:04. Просмотров 548. Ответов 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
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
75
76
77
78
79
80
81
#include "stdafx.h"
#include "math.h"
#include "conio.h"
#include "stdlib.h"
#include "time.h"
#include "locale.h"
#include "string.h"
#include "windows.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
 
setlocale( LC_ALL,"Russian" );
FILE *f;
int x[6]={0};
int i,j,n,jmax,jmin;
char q[150];
char **s;
char *v="1 laba prog.txt";
char b[7]={".,;:!?"};
f=fopen(v,"r+");
if(!f){printf("error"); getch(); exit(0);}
int index=0,chet=0;
n=0;
 
while(!feof(f)){
     fgets(q,150,f);
     chet++;
}
 
s =(char**)calloc(chet,sizeof(char*));
 
rewind(f);  
 
while(!feof(f)){
fgets(q,99,f);
    for(int i=0;i<(chet);i++)s[i]=(char*)calloc(strlen(q)+1,sizeof(char));
strcpy(s[index],q);
puts(s[index]);
index++;
}
 
 
for(int m=0;m<index;m++){
 
int len=strlen(s[m]);
 
for(i=0;i<len;i++)
{
    for(j=0;j<6;j++)
      if(s[m][i]==b[j]) x[j]++;
}
 
 
 
int min=x[0], max=x[0];
for(j=0;j<6;j++)
    {
    if((x[j]<min) && (x[j]!=0)) 
    {min=x[j];
    jmin=j;}
    if(x[j]>max) 
    {max=x[j];
    jmax=j;} 
}
fprintf(f,"\nМинимальное кол-во знаков препинания в строке:%d\n",min)   ;
fprintf(f,"Мaксимальное кол-во знаков прпинания в строке:%d\n",max) ;
 
 
 
fprintf(f,"max %s",b[jmax]);
fprintf(f,"min %s",b[jmin]);
}
fclose(f);
 
 
for(int i=0;i<chet;i++)free(s[i]);
    free(s);
getch();
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2014, 21:04
Ответы с готовыми решениями:

Определить сложность каждого предложения и всего текста по количеству слов и количеству знаков препинания
ТЗ: Определить сложность каждого предложения и всего текста по количеству слов и количеству знаков...

Найти какое число встречается чаще всего
В этой программе надо найти какое число встречается чаще всего помогите пожалуйста! ...

Сколько раз встречается чаще всего повторяющяеся число
написала программу. Не работают помагите #include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt;...

Подсчитать сколько раз в тексте встречается каждое слово и удалить то слово, которое встречается чаще всего
Само задание : Вводим текст и для каждого из слов указать, сколько раз оно встречается в тексте....

Ввести строку, найти символ который чаще всего встречается
Добрый день. Необходимо ввести строку с клавиатуры. Определить, какой символ чаще всего...

1
anmartex
...
1733 / 1217 / 917
Регистрация: 12.02.2013
Сообщений: 1,994
16.03.2014, 08:17 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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main() {
    const char CFileName[] = "file.txt";
    const char CPunct[] = ".,;:!?";
    const char* p;
    int cnt[6] = { 0 }, i, ch, min, max;
    FILE* f;
 
    if ((f = fopen(CFileName, "r")) == NULL) {
        perror(CFileName);
        return 1;
    }
 
    while ((ch = fgetc(f)) != EOF) {
        if ((p = strchr(CPunct, ch)) != NULL) {
            cnt[p - CPunct]++;
        }
    }
 
    fclose(f);
 
    min = max = 0;
    for (i = 1; i < 6; ++i) {
        if (cnt[i] < cnt[min]) {
            min = i;
        }
        else if (cnt[i] > cnt[max]) {
            max = i;
        }
    }
 
    printf("min '%c' = %d\n"
           "max '%c' = %d\n",
           CPunct[min], cnt[min],
           CPunct[max], cnt[max]);
 
    system("pause");
 
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2014, 08:17

Напечатать город или страну которая чаще всего встречается в массиве
type страна=(Украина,Россия,Белорусь) город=(Киев,Москва,Минск,Одесса,Ник олаев,Томск) var...

Найти какой из знаков препинания встречается максимальное и минимальное количество раз
писать новый код не нужно,просто поправить этот #include &quot;stdafx.h&quot; #include &quot;math.h&quot; #include...

Определить, в какой строке матрицы находится больше всего нулей
Нужно показать двухмерный массив А, который состоит из елементов 0 и 1, и указать в какой строке...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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