uva 10062 Ошибка выполнения C++

Я получаю ошибку времени выполнения в этой проблеме Ува Скажи мне частоты! может кто-нибудь помочь мне и сказать мне, почему я получаю это?? это мой код

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int dic[96];

int main()
{
    char input [101];
    int i;
    while (gets(input))
    {
        int lenght = strlen(input);
        for (i = 0; i < lenght; i++)
        {
            dic[input[i]-32]++;
        }
        int j;
        for (i = 1; i < 96; i++)
        {
            for (j = 0; j < 96; j++)
            {
                if (dic[j] == i)
                    printf("%d %d\n",j+32,dic[j]);
            }
        }
        printf("\n");
        memset(dic, 0, sizeof(dic));
    }
    return 0;
}

1 ответ

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

using namespace std;
int dic [96];

int main()
{
    char input [1001];
    int i;
    bool x = false;

    while (gets(input))
    {
        int length = strlen(input);

        for (i = 0; i < length; i++)
        {
            dic[input[i] - 32]++;
        }

        if (x)
            printf("\n");

        x = true;
        int j;

        for (i = 1; i < 1000; i++)
        {
            for (j = 96; j >= 0; j--)
            {
                if (dic[j] == i)
                    printf("%d %d\n", j + 32, dic[j]);
            }
        }
        memset(dic, 0, sizeof(dic));
    }
    return 0;
}
Другие вопросы по тегам