Невозможно найти или открыть файл PDB - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написал программу на языке си.
#include <stdio.h>
#include <stdlib.h>
#define BOOL int
#define FALSE 0
#define TRUE  1
int n;
int* elems; 
BOOL CheckedLeksic(int k,int n,int* elem)              
{
    int index = 0,i;                                    
    BOOL flag = FALSE;                              
    for (i = 0;i<k;i++)                               
    {
        if (elem[k] == 0 || k == n)
        {
            flag = TRUE;
        }
        else
        {
            return FALSE;
        }
        if (elem[i] != 0)
        {
            index++;
        }
        else
        {
            return FALSE;
        }
    }
    if (index == k && flag)                         
    {
        return TRUE;
    } 
    else
    {
        return FALSE;
    }
}
 
    void Initialize(int size) 
    {                                       
        int i;
        n = size;
        elems = (int*)malloc(n*sizeof(int));
        for (i = 0;i<n;i++)
        {
            elems[i] = 0;
        }
        elems[0] = 1;
    }
 
    BOOL Print ()   
        
    { 
        int i;
        for ( i = 0;i<n;i++)                            
        {
            if (elems[0] == n && elems[1] == 0)
            {
                printf_s("%s","The End");
                return FALSE;
            }
            else if (elems[i]!=n && elems[i+1] == 0)
            {
                elems[i+1] = elems[i]+1;
                return TRUE;
            }
            else if (elems[i]==n)
            {
                elems[i-1]++;
                elems[i] = 0;
                return TRUE;
            }
        }
        return FALSE;
    }
 
int main()
{
    BOOL flag;
    int n,k,i;
    do 
    {
        printf_s("%s", "Max number(n): ");
        scanf_s("%d", &n);                                      
        printf_s("%s", "Number of items(k): ");
        scanf_s("%d", &k);                                      
        if (n>7 || k>7)
        {
            printf_s("%s\n", "Error! Can not be greater than 7");
        }
    } while (n>7 || k>7);
 
    Initialize(n);          
    printf_s("Output:\n");                       
    do
    {
        flag = FALSE;
        if (CheckedLeksic(k,n,elems))               
        {
            for (i = 0;i<n && elems[i] != 0 ;i++)
            {
                printf_s("%d",elems[i]);            
                flag = TRUE;
            }
        }
        if (flag)
        {
            printf_s("\n");                      
        }
    }
    while( Print() );                               
    while(TRUE);
    return 0;
}
Выдал скомпилировалось и .exe запустился но с ошибкой и выдало
"b.exe": Загружено: "C:\Windows\SysWOW64\ntdll.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\kernel32.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\KernelBase.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\msvcr100d.dll", Символы загружены. "b.exe": Загружено: "C:\Windows\SysWOW64\guard32.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\user32.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\gdi32.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\lpk.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\usp10.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\msvcrt.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\advapi32.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\sechost.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\rpcrt4.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\sspicli.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\cryptbase.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\version.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\imm32.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\msctf.dll", Невозможно найти или открыть файл PDB "b.exe": Загружено: "C:\Windows\SysWOW64\fltLib.dll", Невозможно найти или открыть файл PDB Поток 'Поток Win32' (0x13b0) завершился с кодом -1073741510 (0xc000013a). Программа "[3884] b.exe: Машинный код" завершилась с кодом -1073741510 (0xc000013a).

Решение задачи: «Невозможно найти или открыть файл PDB»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#define BOOL int
#define FALSE 0
#define TRUE  1
int n;
int* elems; 
BOOL CheckedLeksic(int k,int n,int* elem)                          
{
        int index = 0,i;                                                                        
        BOOL flag = FALSE;                                                              
        for (i = 0;i<k;i++)                                                           
        {
                if (elem[k] == 0 || k == n)
                {
                        flag = TRUE;
                }
                else
                {
                        return FALSE;
                }
                if (elem[i] != 0)
                {
                        index++;
                }
                else
                {
                        return FALSE;
                }
        }
        if (index == k && flag)                                                 
        {
                return TRUE;
        } 
        else
        {
                return FALSE;
        }
}
 
        void Initialize(int size) 
        {                                                                               
                int i;
                n = size;
                elems = (int*)malloc(n*sizeof(int));
                for (i = 0;i<n;i++)
                {
                        elems[i] = 0;
                }
                elems[0] = 1;
        }
 
        BOOL Print ()   
                
        { 
                int i;
                for ( i = 0;i<n;i++)                                                    
                {
                        if (elems[0] == n && elems[1] == 0)
                        {
                                printf_s("%s","The End");
                                return FALSE;
                        }
                        else if (elems[i]!=n && elems[i+1] == 0)
                        {
                                elems[i+1] = elems[i]+1;
                                return TRUE;
                        }
                        else if (elems[i]==n)
                        {
                                elems[i-1]++;
                                elems[i] = 0;
                                return TRUE;
                        }
                }
                return FALSE;
        }
 
int main()
{
        BOOL flag;
        int n,k,i;
        do 
        {
                printf_s("%s", "Max number(n): ");
                scanf_s("%d", &n);                                                                              
                printf_s("%s", "Number of items(k): ");
                scanf_s("%d", &k);                                                                              
                if (n>7 || k>7)
                {
                        printf_s("%s\n", "Error! Can not be greater than 7");
                }
        } while (n>7 || k>7);
 
        Initialize(n);                  
        printf_s("Output:\n");                           
        do
        {
                flag = FALSE;
                if (CheckedLeksic(k,n,elems))                           
                {
                        for (i = 0;i<n && elems[i] != 0 ;i++)
                        {
                                printf_s("%d",elems[i]);                        
                                flag = TRUE;
                        }
                }
                if (flag)
                {
                        printf_s("\n");                          
                }
        }
        while( Print() );                                                               
        while(TRUE);
        return 0;
}

Объяснение кода листинга программы

  1. Переменная n инициализируется значением, введенным пользователем, и используется для определения размера массива elems.
  2. Функция CheckedLeksic принимает три аргумента: k, n и elem.
  3. k - количество элементов для проверки на корректность.
  4. n - размер массива elems.
  5. elem - указатель на массив elems.
  6. Функция Initialize инициализирует массив elems и устанавливает его размер в n.
  7. В функции Print происходит печать элементов массива elems.
  8. Если elems[0] равно n и elems[1] равно 0, то выводится сообщение The End.
  9. Если elems[i] не равно n и elems[i+1] равно 0, то elems[i+1] присваивается значение elems[i]+1, а затем возвращается TRUE.
  10. Если elems[i] равно n, то elems[i-1] увеличивается на единицу, elems[i] устанавливается равным 0, и возвращается TRUE.
  11. В основной функции main происходит итеративный ввод значений n и k до тех пор, пока они не будут введены корректно.
  12. Затем вызывается функция Initialize для инициализации массива elems.
  13. Далее происходит итеративный вывод элементов массива elems до тех пор, пока не будет достигнуто условие выхода из цикла.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы