Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 13
1

Проверьте код,выдает ошибки,а как исправить их не могу

16.04.2017, 18:15. Показов 1332. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Суть в том,что надо проверь слова из строки на условия:
1)начало и конец слова начинается на одну и ту же букву
2)слово содержит 3 буквы к
ошибки:
1) [Error] request for member 'length' in 'p', which is of non-class type 'char*'
2 )26строка expected primary-expression before 'int'
3)26строка expected ')' before 'int'
4) 30строка expected ')' before 'p'
5)30строка expected ')' before ';' token
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
#include <iostream>
#include <string>
#include <sstream>
#include <string.h>
#include <stdio.h>
 
int  cnt(char text,char ch)
 {
    int res = 0;
    for (; text; ++text) {
        res += (text == 'k');
    }
    return res;
}
 
 
int main()
{
    char text[256], *p;
 
    fgets(text, sizeof(text), stdin);
 
    p = strtok(text, " ");
    while (p)
    {
        if ((p[0] == p[p.length()-1]) && (3==(int cnt(text,'k'))))
        {
            printf("%s\n", p);
        }
        p = strtok(NULL, " ");
    }
 
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2017, 18:15
Ответы с готовыми решениями:

Не могу разобраться с программой, выдает ошибку C2371, как и что исправить, не знаю, строка 20
#define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;math.h&gt; char...

Код работает не так, как ожидается (найти и исправить ошибки)
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; char deletika(char a, long ot, long...

Давно не писала ничего на Dev C++ выдает ошибки не могу понять как их исправить
#include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; int main() { ...

нужно найти ошибки в задаче на языке C/ их в районе 10 как выдает компилятор но я не могу их исправить (не знаю как)
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; void main() { int xa, ya, xb, yb;...

5
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
16.04.2017, 18:20 2
Leins, это что за язык?
1
0 / 0 / 0
Регистрация: 13.04.2017
Сообщений: 13
16.04.2017, 18:39  [ТС] 3
shvyrevvg, си
0
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
17.04.2017, 01:18 4
Цитата Сообщение от Leins Посмотреть сообщение
C++
1
#include <iostream>
Цитата Сообщение от Leins Посмотреть сообщение
shvyrevvg, си
Очень сомневаюсь
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
17.04.2017, 02:33 5
C
1
2
3
4
5
6
7
8
int  cnt(char * text, char ch)
 {
    int res = 0;
    for (; *text; ++text) {
        res += (*text == 'k');
    }
    return res;
}
Дальше не смотрел
0
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
17.04.2017, 03:00 6
Лучший ответ Сообщение было отмечено Leins как решение

Решение

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
#include <stdio.h>
#include <stdlib.h>
 
#define LENGTH 256
#define DELIM  " ,.?!\n"
 
int coincidences(char *, char);
int identical(char *);
 
 
int main(void)
{
    char* str = (char *)malloc( sizeof(char) * LENGTH );
    printf("Enter a string: ");
    fgets(str, LENGTH, stdin);
    
    char letter;
    printf("Enter a character we will find: ");
    scanf("%c", &letter);
    
    char* word = strtok(str, DELIM);
    while(word)
    {
        if (coincidences(word, letter) == 3)
            if (identical(word))
                printf ("%s\n", word);
                
        word = strtok(NULL, DELIM);
    }
 
    return 0;
}
 
int coincidences(char* str, char letter)
/*
  Ищет кол-во одинаковых букв (letter) в слове (str)
  Возвращает кол-во совпадений
*/
{
    if (!str) return 0;
    
    int count = 0;
 
    while (*str)
        if (*str++ == letter) ++count;
 
    return count;
}
 
int identical(char* str)
// Проверяет, начинается ли слово на букву, на которую заканчивается
{
    if (!str) return 0;
    if (!*str) return 0;
    if ( !*(str + 1) ) return 0;
 
    char firstLetter = *str;
    
    while (*++str);
    if ( tolower(*--str) == tolower(firstLetter) ) return 1;
    
    return 0;
}
1
17.04.2017, 03:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2017, 03:00
Помогаю со студенческими работами здесь

массив:выдает ошибки не могу исправить
#include &lt;iostream&gt; #include &quot;stdafx.h&quot; #include&quot;math.h&quot; using namespace std; int main() {...

Открываю PDF - терминал выдает ошибки, что это и как исправить?
Открываю файл: xdg-open file.pdf и всё вроде хорошо, но в терминале следующие сообщения:...

Выдает ошибку. Не могу понять как исправить
Ошибка с плавающей запятой.

Не могу понять как исправить ошибки
Ошибки мне кажутся какими то глупыми т.к. раньше все вылечивалось перезалитием базы но сейчас...

Проверьте игру(нужно исправить ошибки)
#include&lt;iostream&gt; #include&lt;windows.h&gt; using namespace std; int main () { int...

Проверьте код на ошибки
Тут компилятор выдает ошибку на ESP #include &lt;vector&gt; #include &lt;iostream&gt; #include &lt;math.h&gt;...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru