Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.67
DiegoGonzalez
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22
#1

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

24.06.2009, 19:03. Просмотров 3682. Ответов 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>)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2009, 19:03     Подключение библиотек
Посмотрите здесь:

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

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

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

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

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

Подключение неиспользуемых библиотек - C++
Что будет, если я подключаю библиотеки, но не использую их. Какие последствия?) снизили балл за такое незнание на лабе:D

Подключение сторонних библиотек - C++
Я пишу в Visual Studio и в некоторый проектах использую SDL. У меня есть папка с библиотеками и инклудами SDL, я ее подключаю в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
24.06.2009, 19:09     Подключение библиотек #2
Цитата Сообщение от DiegoGonzalez Посмотреть сообщение
: No such file or directory
нет файла или директории. А по русски, удалил ты его или не включил вообще
DiegoGonzalez
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
RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
24.06.2009, 19:46     Подключение библиотек #4
должно быть так
#include "stdafx.h"
в файле compressed_matrix.cpp
(в ковычках, а не скобочках)
И проверь есть ли вообще этот файл в папке с проэктом
DiegoGonzalez
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22
24.06.2009, 19:53  [ТС]     Подключение библиотек #5
Не.....не помогает...((
И это не файл вообще...а библиотека....
RazorQ
24.06.2009, 19:54
  #6

Не по теме:

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

DiegoGonzalez
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22
24.06.2009, 19:56  [ТС]     Подключение библиотек #7
Ну в смысле есть оно...пересобирал ведь даже...в других прогах работает..
RazorQ
576 / 343 / 9
Регистрация: 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"
DiegoGonzalez
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.cpp(1) : fatal error C1083: Не удается открыть файл include: stdafx.h: No such file or directory
ISergey
Maniac
Эксперт С++
1372 / 883 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 1
24.06.2009, 20:07     Подключение библиотек #10
Нажимаем Alt+F7 -> Configuration Properties -> C/C++ -> Perecompiled Headers -> Create/Use Precompiled Header ставим Not Using Precompiled Headers
DiegoGonzalez
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22
24.06.2009, 20:13  [ТС]     Подключение библиотек #11
"Не использовать предварительно скомпилированные заголовки"
так и стоит
RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
24.06.2009, 20:42     Подключение библиотек #12
Цитата Сообщение от DiegoGonzalez Посмотреть сообщение
так и стоит
тогда вообще удаляй все stdafx.h
DiegoGonzalez
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 22
25.06.2009, 06:42  [ТС]     Подключение библиотек #13
Удалять тоже пробовал....59 ошибок...оно должно там быть.....
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2009, 07:09     Подключение библиотек
Еще ссылки по теме:

Подключение своих библиотек - C++
Ошибка: не удается открыть источник файл &quot;mystruct.h&quot;. Все бы ничего, если бы не написал библиотеку, но я написал. MYSTRUCT.H ...

Подключение библиотек taglib - C++
Здраствуйте! Не знаю правильно ли ятему назвал. Вот короче какая у меня проблема: Решил я воспользоваться библиотекой taglib...

Подключение библиотек в GUI - C++
При написании GUI приложения, пишет: E2451 Undefined symbol 'string' Подключал библиотеку cstring - бесполезно, также ругается...

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

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


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

Или воспользуйтесь поиском по форуму:
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
25.06.2009, 07:09     Подключение библиотек #14
проект на чем?
MS VS 2005/2008?
если да, то такая ерунда бывает, когда проект создаешь неправильно.
читал у мелкомягкого - там что-то, связанное с базовыми параметрами проекта.
в результате, половина разделов настроек проекта вообще не отображается.
убил не один час, но как их поменять на правильные после созадания, я так и не понял.
проще сделать нормальный проект заново, и скопировать в него свои сpp/h.
Yandex
Объявления
25.06.2009, 07:09     Подключение библиотек
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru