Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 02.11.2018
Сообщений: 1
1

Не проходит тесты

02.11.2018, 19:30. Показов 1155. Ответов 2

Программа не проходит почему-то тесты, хотя вроде работает, подскажите пожалуйста на счёт EOF, мне просто сказали что это нужно, но я не совсем понимаю, что это такое. В моём понимании это просто окончание строки, это так?

Сказали что EOF для того, что во время ввода строки могут не нажать на энтер, а просто закончить ввод и всё



В стандартный поток ввода подается строка, состоящая из символов, общая длина не более 80 символов. Далее входной поток заканивается. Найти какое количество раз встречается каждый символ, если он есть в строке. Результаты вывести в стандартный поток вывода. Необходимо вывести по одному значению в строку, соответствуя регламенту (см. примеры):
В каждой строке результат сначала печатается сам символ, затем «равно» и кол-во раз, которое встречается этот символ. Выводить без повторений. Выводить в том порядке, в котором символ встречается в строке.

Исходную строку нужно считать в память целиком и все манипуляции проводить в памяти, результат получить в памяти и затем распечатать его.


Пример ввода 1:
ssdds
Вывод:
s=3
d=2


Пример ввода 2:
AaDDd!
Вывод:
A=1
a=1
D=2
d=1
!=1


Пример ввода 3:
every coin helps
Вывод:
e=3
v=1
r=1
y=1
=2
c=1
o=1
i=1
n=1
h=1
l=1
p=1
s=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
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
    int i, j,s=0,d=0;
    char mass[2][80],bukva, g = 0;
    for (i = 0; i < 2; i++) {
        for (j = 0; j < 80; j++) {
            mass[i][j] = 0;
        }
    }
    j = 0;
    while (1) {
        bukva = getchar();
        if (bukva == '\n'|| !EOF) break;
        mass[0][j] = bukva;
        j++;
        s++;
    }
    for (i = 0; i < 80; i++) {
        for (j = 0; j < 80; j++) {
            if (mass[0][i] == mass[0][j])
                mass[1][j]++;
        }
    }
    for (i = 0; i < s-1; i++){
        for (j = i + 1; j < s; j++){
            if (mass[0][i] == mass[0][j])mass[1][j] = 0;
        }
    }
    i = s - 1;
    while (mass[1][i] == 0)
    {
        d++;
        i--;
    }
    for (i = 0; i < s; i++) {
        if(mass[1][i]!=0 && mass[0][i] != ' '){
        printf("%c=%d", mass[0][i],mass[1][i]);
        }
        else {
            if (mass[1][i] != 0 && mass[0][i] == ' ') {
                printf("=%d", mass[1][i]);
            }
        }
        if(mass[1][i] != 0 && i<s-1-d)printf("\n");
    }
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2018, 19:30
Ответы с готовыми решениями:

Программа не проходит тесты
Здравствуйте, решаю задачу: Имеется список людей с указанием их фамилии, имени и даты рождения....

Не проходит все тесты
#include &lt;iostream&gt; #include &lt;cmath&gt; int main() { long long m, n; std::cin &gt;&gt; m &gt;&gt; n; ...

Программа не проходит некоторые тесты
Доброго времени суток, друзья! Решаю задачу: вывод стандартный вывод Дана строка, состоящая...

Программа с процедурами не проходит тесты
Добрый день Пишу сюда, так как не могу найти ошибку самостоятельно. Код программы с...

2
1 / 1 / 0
Регистрация: 19.04.2016
Сообщений: 7
02.12.2018, 18:38 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
#define_CRT_SECURE_NO_WARNINGS
#include <locale.h>
#define mflag '0'
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
 
int main (void) {
 
    setlocale (LC_CTYPE, "Russian"); // кириллица в консоли
 
    char s[255] = { 0 };
    
    int num = 0;
    gets(s);
    
        for (int i = 0; i < strlen(s); i++) {
            
                for (int j = i; j < strlen(s); j++) 
                    if (s[i] == s[j]) num++;
                    
                for (int k = i +1; k < strlen(s); k++)  
                    if (s[k] == s[i]) s[k] = mflag;
                    
                if (s[i]!=mflag) 
                    printf("%c=%d\n", s[i], num);
                    
            num = 0;
            
        }
 
    return 0; // завершение программы
 
}
0
30 / 32 / 12
Регистрация: 18.02.2018
Сообщений: 157
02.12.2018, 18:41 3
Цитата Сообщение от DeDM1shaz Посмотреть сообщение
Попробуй так:
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
#define_CRT_SECURE_NO_WARNINGS
#include <locale.h>
#define mflag '0'
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
 
int main (void) {
 
    setlocale (LC_CTYPE, "Russian"); // кириллица в консоли
 
    char s[255] = { 0 };
    
    int num = 0;
    gets(s);
    
        for (int i = 0; i < strlen(s); i++) {
            
                for (int j = i; j < strlen(s); j++) 
                    if (s[i] == s[j]) num++;
                    
                for (int k = i +1; k < strlen(s); k++)  
                    if (s[k] == s[i]) s[k] = mflag;
                    
                if (s[i]!=mflag) 
                    printf("%c=%d\n", s[i], num);
                    
            num = 0;
            
        }
 
    return 0; // завершение программы
 
}
-1 спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2018, 18:41

Сортировка слиянием не проходит тесты массива 10^5
#include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; int N; void Merge(vector &lt;int&gt;...

Числа Смита (Не проходит все тесты)
Число Смита — такое составное число, сумма цифр которого равняется сумме цифр всех его простых...

Задача «Телефонная книга» не проходит все тесты
Задача не проходит все тесты. Пример, указанный в условии работает, а потом тестировщик пробует еще...

Задача форматирования таблицы не проходит все тесты
Задача не проходит все тесты. Пример, указанный в условии работает, а потом тестировщик пробует еще...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru