0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22
1

Подключение библиотек

24.06.2009, 19:03. Показов 7116. Ответов 13
Метки нет (Все метки)

c:\documents and settings\admin\рабочий стол\compressed_matrix\compressed_matrix\main.cpp( 4) : fatal error C1083: Не удается открыть файл include: stdafx: No such file or directory
С чем может быть связано? (#include <stdafx.h>)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2009, 19:03
Ответы с готовыми решениями:

Подключение библиотек
Здравствуйте! Проблема: не могу подключить новые библиотеки! Имею VS 2010 Ultimate ! кликаю:...

Подключение библиотек
Здравствуйте ув. форумчане.Я пишу программы c++ на notepad++.Возможно ли добавить библиотеки такие...

Подключение библиотек
Для интереса решил попробовать поиграть со звуком. Скачал библиотеку. Установил по инструкции...

Подключение библиотек
Доброго времени суток %username% !!! Изучаю С++ не очень долго и возник такой вопрос. Необходимо...

13
591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
24.06.2009, 19:09 2
Цитата Сообщение от DiegoGonzalez Посмотреть сообщение
: No such file or directory
нет файла или директории. А по русски, удалил ты его или не включил вообще
0
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22
24.06.2009, 19:35  [ТС] 3
Эм...я конечно не совсем крутой программер,но я пробовал даже пересобрать проект....
Могу выложить код,только там порядка 300 строк кода и разделено на 3 файла,один из которых заголовочный...

Добавлено через 7 минут 30 секунд
compressed_matrix.h
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
//#include <stdafx.h>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
 
//базовый абстрактный класс
class matrix {
public:
    int number_of_rows; //число строк (равно n)
  //  virtual int print_to_file(FILE *stream, int flag)=0;//виртуальная функция вывода матриц
 }
 
 
//класс полной матрицы
class Cfull_matrix : public matrix
{
    //friend int print_to_file(FILE *stream, int flag);
    //переменные
public:
    full_matrix(int number_of_rows); //в конструкторе производится обнуление всех переменных и указателей
    ~full_matrix(); //в деструкторе производится удаление выделенной памяти и обнуление всех переменных и указателей
    int number_of_rows; //число строк (равно n)
    double init_full(); //инициализация матрицы
    double sum_full(full_matrix &mf1, full_matrix &mf2); //суммирование матриц
 
protected:
    //полный формат хранения
     double **mf; //указатель на двумерный массив размерностью nxn        
}
 
 
//класс сжатой матрицы
class compressed_matrix : public matrix
{
        //friend int print_to_file(FILE *stream, int flag);
//переменные
public:
    compressed_matrix(int number_of_rows); //в конструкторе производится обнуление всех переменных и указателей
    ~compressed_matrix(); //в деструкторе производится удаление выделенной памяти и обнуление всех переменных и указателей
    int number_of_elements; //число ненулевых элементов матрицы
    int number_of_rows; //число строк (равно n)
    double init_compres(); //инициализация матрицы
    double *get_values_ptr(); //возвращает указатель на массив values
    int *get_columns_ptr(); //возвращает указатель на массив columns
    int *get_rows_ptr(); //возвращает указатель на массив rows
    double sum_compress(compressed_matrix &mc1, compressed_matrix &mc2); //суммирование матриц
 
protected:
    //сжатый формат хранения
     int *rows; //массив из n+1 элемента; rows[i] хранит номера элементов массивов values и
                //columns, с которых начинается i-я строка матрицы (rows[0]=0,
                //rows[n+1]=number_of_elements+1)
     int *columns; //массив, хранящий номера столбцов ненулевых элементов
     double *values; //массив значений ненулевых элементов
     int size_of_columns; //длина массива columns
     int size_of_values; //длина массива values
}
compressed_matrix.cpp
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#include "stdlib.h"    // для функций работы с числами    
#include <iostream> // для работы   cin
//#include <stdafx.h>
#include <stdio.h>    // для printf
 
#ifndef COMPRESSED_MATRIX__H        // заголовочный для класса
#define COMPRESSED_MATRIX
     
using namespace std;
 
Ccompressed_matrix::Ccompressed_matrix(int number_of_rows)
{
        //присвоим внутренним переменным переданные параметры
        int size_of_columns = number_of_rows*number_of_rows;
        int size_of_values = number_of_rows*number_of_rows;
 
        //Для хранения собственно данных матрицы сначала выделим память для массивов
        int *rows = NULL;
        rows = new int[number_of_rows];
        int *columns = NULL;
        columns = new int[size_of_columns];
        double *values = NULL;
        values = new double[size_of_values];
}
 
Ccompressed_matrix::~Ccompressed_matrix()
{   //освобождение памяти
    delete []*rows;
    delete []*columns;
    delete []*values;
}
 
Cfull_matrix::full_matrix(int number_of_rows)
{
    //number_of_rows// присвоим внутренним переменным переданные параметры
 
    //Для хранения собственно данных матрицы сначала выделим память
     double **mf = NULL;
     mf1 = new double*[number_of_rows];
     for (int i = 0; i < number_of_rows; i++) {
     mf1[i] = new double[number_of_rows];
     }
}
 
Cfull_matrix::~Ccompressed_full_matrix()
{   //освобождение памяти
    delete []**mf
}
 
//инициализация сжатой матрицы
 double Ccompressed_matrix::init_compres(int number_of_rows){
        int number_of_elements=0,j,i;
        double r,a1,a2;
        //ввод диапазона значений
        printf("vvedite a1:\n");
        scanf_s("%lf", &a1);
        printf("vvedite a2:\n");
        scanf_s("%lf", &a2);
 
        srand(unsigned(time(NULL)));
        //обнуление массивов
        for (i=0;i<size_of_columns;i++){
            columns[i]=0;
            values[i]=0;
        };
        //заполнение значениями
         for (i=0;i<number_of_rows;i++)
             {
                 for (j=0;j<number_of_rows;j++){
                     r=rand()& 1;
                    if (r!= 0) { r =(double)((double)rand()/(double)RAND_MAX*(a2-a1)+a1);
                                        values[number_of_elements] = r;
                                        columns[number_of_elements]=j;
                                        number_of_elements=number_of_elements+1;}
                        printf("%7.3lf", r);
                 };
            rows[i]=number_of_elements;
            printf("\n");
             };
 
                printf("\n");
            
             for (i=0;i<number_of_rows;i++){    printf("%3d", rows[i]);};
             printf("\n");
             for (i=0;i<number_of_elements;i++){printf("%3d", columns[i]);};
             printf("\n");
             for (i=0;i<number_of_elements;i++){printf("%7.3lf", values[i]);};
        return 0;
 }
 
//инициализация полной матрицы
 double Cfull_matrix::init_full(int number_of_rows){
        int i,j;
        double a1,a2;
        srand(unsigned(time(NULL)));
        //ввод диапазона значений
        printf("vvedite a1:\n");
        scanf_s("%lf", &a1);
        printf("vvedite a2:\n");
        scanf_s("%lf", &a2);
        //заполнение значениями
         for (i=0;i<number_of_rows;i++){
                 for (j=0;j<number_of_rows;j++){
                    mf[i][j]=rand()& 1;
                    if (mf[i][j]!=0) { mf[i][j]=(double)((double)rand()/(double)RAND_MAX*(a2-a1)+a1);}
                    printf("%8.3lf", mf[i][j]);
        }
        printf("\n");
         }
    return 0;
}   
 
 
//сложение сжатых матриц
double Ccompressed_matrix::sum_compress(compressed_matrix &mc1, compressed_matrix &mc2, int number_of_rows){
    
    int i,j1,j2,k;
    double Prod=1;
 
    for(i=0;i<number_of_rows;i++)
        {
            for(j1=row1[i];j1<rows[i+1];j1++)
                {
                    for(j2=rows2[i];columns2[j2]<=columns1[j1];j2++)
                    {
                        k=0;
                        if (columns1[j1]==columns2[j2])
                            {Prod=Prod*(values1[j1]+values2[j2]);
                             k=1;
                             break;
                            }
                        if (k==0) Prod=Prod*values1[j1];
                    }
                }
 
            for(j2=row2[i];j2<rows2[i+1];j2++)
                {
                    for(j1=rows1[i];columns1[j1]<=columns2[j2];j1++)
                        {
                        if (columns1[j1]==columns2[j2])
                            {
                             k=1;
                             break;
                            }
                        if (k==0) Prod=Prod*values2[j2];
                        }
                }
        }
    return Prod;
}
 
//сложение полных матриц
double Cfull_matrix::sum_full(full_matrix &mf1, full_matrix &mf2, int number_of_rows){
    
    double Prod=1;
    int i,j;     
         for (i=0;i<number_of_rows;i++)
                  {
                      for (j=0;j<number_of_rows;j++){
                        printf("%8.3lf", m1[i][j] + m2[i][j]);
                        if (m1[i][j] + m2[i][j]!= 0) Prod=Prod*(m1[i][j] + m2[i][j]);
 
                      }
                  printf("\n");
                }
    return Prod; 
}
 
//int print_to_file(FILE *stream, int flag){}
#endif
main.cpp
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream>
#include <stdio.h>
#include <stdlib.h> 
#include "stdafx.h"
 
 
#ifndef COMPRESSED_MATRIX__H
#define COMPRESSED_MATRIX
 
using namespace std;
 
void main()
{
    int i, punkt;
    char filename[20];
    
    // спросим сколько строк
    int number_of_rows;
    cout << "\n Number_of_rows ?:" ;
    cin >> number_of_rows ;
    
    
    while(1) {
    system("cls");
    printf("Vy hotite slozit polnie ili szatie matrici?\n");
    printf("1-Polnie\n");
    printf("2-Szatie\n");
    printf("3-Vyiti\n");
    scanf_s("%d", &punkt); 
    int flag=0; 
    //цикл до тех пор пока не выбран правильный пункт меню
    while(flag==0)
    { 
                //правильный ли выбран пункт
                if ((punkt<'1')&&(punkt>'3')) 
                {
                    cout <<"Takogo punkta net. Nagmite any key i povtorite vvod:\n";
                    _getch();
                    system ("cls"); 
                    printf("Vy hotite slozit polnie ili szatie matrici?\n");
                    printf("1-Polnie\n");
                    printf("2-Szatie\n");
                    printf("3-Vyiti\n");
                    scanf_s("%d", &punkt);
                }                               
                else flag=1;         
            }
    //если выбран пункт "полные"
    if (punkt == 1) {
        system("cls");
        printf("Vvedite imja fayla dlya zapisi: ");
        cin >> filename;
        ofstream out(filename, ios::out);  //создание потока
        //проверка создания файла
        if (!out)
        {
            cerr << "Oshibka sozdaniya faila!" << endl;
        }
        out.close();
 
    Cfull_matrix mf1(int number_of_rows);   // создадим матрицу 1
    mf1.init_compres(int number_of_rows);    // заполним значениями
 
    Cfull_matrix mf2(int number_of_rows);   // создадим матрицу 2
    mf2.init_compres(int number_of_rows);    // заполним значениями
        
    double sum_full(full_matrix &mf1, full_matrix &mf2); //суммирование
    }
 
        //если выбран пункт "сжатые"
    if (punkt == 2) {   
        system("cls");
        printf("Vvedite imja fayla dlya zapisi: ");
        cin >> filename;
        ofstream out(filename, ios::out);  //создание потока
        //проверка создания файла
        if (!out)
        {
            cerr << "Oshibka sozdaniya faila!" << endl;
        }
        out.close();
 
        Ccompressed_matrix mc1(int number_of_rows); // создадим матрицу 1
        mc1.init_compres(int number_of_rows);    // заполним значениями
 
        Ccompressed_matrix mc2(int number_of_rows); // создадим матрицу 2
        mc2.init_compres(int number_of_rows);    // заполним значениями
 
        //суммирование
        double Ccompressed_matrix::sum_compress(compressed_matrix &mc1, compressed_matrix &mc2, int number_of_rows);
        
    }
    if (punkt == 3){exit(0);}
    }
    return 0;
}
#endif
0
591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
24.06.2009, 19:46 4
должно быть так
#include "stdafx.h"
в файле compressed_matrix.cpp
(в ковычках, а не скобочках)
И проверь есть ли вообще этот файл в папке с проэктом
0
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22
24.06.2009, 19:53  [ТС] 5
Не.....не помогает...((
И это не файл вообще...а библиотека....
0
RazorQ
24.06.2009, 19:54
  #6

Не по теме:

Цитата Сообщение от DiegoGonzalez Посмотреть сообщение
И это не файл вообще...а библиотека....
А с каких пор библиотека не файл :D

0
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22
24.06.2009, 19:56  [ТС] 7
Ну в смысле есть оно...пересобирал ведь даже...в других прогах работает..
0
591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
24.06.2009, 20:02 8
Общие замечания не по теме: а почему ты комбинируешь printf/scanf с cout/cin
Это не запрещено, но выглядит не очень. Если пишешь на плюсах, то используй возмоности плюсов.

Добавлено через 2 минуты 47 секунд
Судя по сообщению
Цитата Сообщение от DiegoGonzalez Посмотреть сообщение
c:\documents and settings\admin\рабочий стол\compressed_matrix\compressed_matrix\main.cpp( 4) : fatal error C1083: Не удается открыть файл include: stdafx: No such file or directory
нет файла stdafx.h в каталоге, где лежит файл main.cpp

Добавлено через 1 минуту 40 секунд
этот файл выглядит так
C++
1
2
3
4
5
6
#pragma once
 
#include "targetver.h"
 
#include <stdio.h>
#include <tchar.h>
создай вручную и создай файл stdafx.cpp (на всякий) с текстом
C++
1
#include "stdafx.h"
0
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22
24.06.2009, 20:06  [ТС] 9
Ну это я так....прога не доделана...в разное время разные части писал...ну и в общем так получилось...

Добавлено через 4 минуты 12 секунд
c:\documents and settings\admin\рабочий стол\compressed_matrix\compressed_matrix\stdafx.cp p(1) : fatal error C1083: Не удается открыть файл include: stdafx.h: No such file or directory
0
Maniac
Эксперт С++
1462 / 963 / 160
Регистрация: 02.01.2009
Сообщений: 2,817
Записей в блоге: 1
24.06.2009, 20:07 10
Нажимаем Alt+F7 -> Configuration Properties -> C/C++ -> Perecompiled Headers -> Create/Use Precompiled Header ставим Not Using Precompiled Headers
0
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22
24.06.2009, 20:13  [ТС] 11
"Не использовать предварительно скомпилированные заголовки"
так и стоит
0
591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
24.06.2009, 20:42 12
Цитата Сообщение от DiegoGonzalez Посмотреть сообщение
так и стоит
тогда вообще удаляй все stdafx.h
0
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22
25.06.2009, 06:42  [ТС] 13
Удалять тоже пробовал....59 ошибок...оно должно там быть.....
0
2342 / 498 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
25.06.2009, 07:09 14
проект на чем?
MS VS 2005/2008?
если да, то такая ерунда бывает, когда проект создаешь неправильно.
читал у мелкомягкого - там что-то, связанное с базовыми параметрами проекта.
в результате, половина разделов настроек проекта вообще не отображается.
убил не один час, но как их поменять на правильные после созадания, я так и не понял.
проще сделать нормальный проект заново, и скопировать в него свои сpp/h.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2009, 07:09
Помогаю со студенческими работами здесь

Подключение библиотек
Здравствуйте. Подскажите пожалуйста почему при попытке подключить к программе библиотеки &lt;stdlib.h&gt;...

подключение библиотек
доброго времени суток #pragma comment(lib, &quot;GLU32.lib&quot;) как понять из какой папки программа будет...

Подключение библиотек include
подскажите как включить include библиотеки (iostream,conio i t.d)

Автоматическое подключение библиотек
есть ли ide, в которых(при статической линковке) линкер подключает только нужное. или все и так это...


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

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

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