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

Объяснить строку кода

17.06.2015, 21:00. Просмотров 810. Ответов 6
Метки нет (Все метки)

Что ЕТо значит.
Сижу уже час и не могу понять
ЧТО ЕТО ЗНАЧИТ
g[26]-Масив типа инт
C
1
g[ch-'A']++;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2015, 21:00
Ответы с готовыми решениями:

Объяснить строку кода
#define KL 10 char* mas; char* mas--что значит?

Объяснить строку кода
Доброго времени суток) впервые столкнулся с таким кодом, кто может объяснить...

Объяснить строку кода
подскажите пожалуйста, как понимать эту строчку. s += pow((float)1/n, 2);}

Struct iphdr: объяснить строку кода
Помогите с обьяснением кода а то все никак не могу здать семестр. #include...

Char удаление символов: объяснить строку кода
Здравствуйте объясните пожалуйста как работает данная строка strok = strok; она...

6
Jewbacabra
Эксперт PHP
3747 / 3093 / 1361
Регистрация: 24.04.2014
Сообщений: 9,395
17.06.2015, 21:20 2
Лучший ответ Сообщение было отмечено Neyron619 как решение

Решение

увеличение на 1 элемента массива g с индексом ch-65 (код A - 65)
1
Neyron619
1 / 1 / 0
Регистрация: 02.10.2014
Сообщений: 47
17.06.2015, 21:40  [ТС] 3
Тоесть когда в тексте находится буква A то масив G увеличивается на 1 .
0
Jewbacabra
Эксперт PHP
3747 / 3093 / 1361
Регистрация: 24.04.2014
Сообщений: 9,395
17.06.2015, 21:44 4
Лучший ответ Сообщение было отмечено Neyron619 как решение

Решение

Цитата Сообщение от Neyron619 Посмотреть сообщение
Тоесть когда в тексте находится буква A то масив G увеличивается на 1 .
нет, увеличится тот элемент массива, индекс которого равен ch-65
1
Neyron619
1 / 1 / 0
Регистрация: 02.10.2014
Сообщений: 47
17.06.2015, 21:51  [ТС] 5
Извини что туплю но только учусь а препод на курсе дал вот етот код и сказал доработать и обьяснить что он делает.
Никак не пойму что он делает.
Препод лютый орёт постоянно.
если тебе не сложно помоги.
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
#include <stdio.h>
#include <ctype.h>
#include <mem.h>
#include <conio.h>
char q[250]; int g[26]; int k[26];  int len=0;
int main()
{
FILE *f;
FILE *d;
int i;
char ch;
long kol;
f=fopen("C:\\Users\\Vasile\\Desktop\\SDA\\Fisiere\\L3.P(4.6).in.txt","r");
 
while((ch=fgetc(f))!='\n')
{
if(isalpha(ch))
{
g[ch-'A']++;
len++;
}
}
i=0;
kol=0;
if(len>0)
while((ch=fgetc(f))!=EOF)
{
if(isalpha(ch))
{
if(q[i])
k[q[i]-'65']--;
q[i]=ch;
k[ch-'A']++;
i=(i+1)%len;
if(memcmp(g,k,sizeof(g))==0)
kol++;
}
}
fclose(f);
d=fopen("C:\\Users\\Vasile\\Desktop\\SDA\\Fisiere\\L3.P(4.6).out.txt","a");
fprintf(d,"%1d\n",kol);
fclose(d);
getch();
return 0;
}
0
Jewbacabra
Эксперт PHP
3747 / 3093 / 1361
Регистрация: 24.04.2014
Сообщений: 9,395
17.06.2015, 22:15 6
Лучший ответ Сообщение было отмечено Neyron619 как решение

Решение

Цитата Сообщение от Neyron619 Посмотреть сообщение
C
1
while((ch=fgetc(f))!='\n') { if(isalpha(ch)) { g[ch-'A']++; len++; } }
Здесь подсчет сколько раз встречается заглавная буква (если в строке будут строчные буквы, то UB) в первой строке файла.
Цитата Сообщение от Neyron619 Посмотреть сообщение
C
1
char ch;
должен быть тип int.
Цитата Сообщение от Neyron619 Посмотреть сообщение
C
1
while((ch=fgetc(f))!=EOF) { if(isalpha(ch)) { if(q[i]) k[q[i]-'65']--; q[i]=ch; k[ch-'A']++; i=(i+1)%len; if(memcmp(g,k,sizeof(g))==0) kol++; } }
что тут происходит я понять не смог.
Цитата Сообщение от Neyron619 Посмотреть сообщение
C
1
k[q[i]-'65']--;
либо 65 без кавычек, либо 'A' с кавычками
1
Neyron619
1 / 1 / 0
Регистрация: 02.10.2014
Сообщений: 47
17.06.2015, 23:00  [ТС] 7
Спасибо за помощь.
0
17.06.2015, 23:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2015, 23:00

Объяснить часть кода
NotBegin = 0; //Вывод результата в виде строки. for(i = MaxLength; i &gt;=...

Объяснить кусочек кода
for (i = 0; i &lt; a; i++) { printf(&quot;введите строку #%d\n&quot;,i+1); Конкретно...

Объяснить работу кода
Объясните что это означает for(char *s=str; (s=strstr( s, &quot;mama&quot;))!=NULL &amp;&amp;...


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

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

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