Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 93
1

подскажите пожалуйста в чем ошибка)

10.12.2013, 17:23. Показов 679. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
при написании программы вылезла ошибка "...Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник" - добавил #include "stdafx.h" вылезло еще куча ошибок. в чем дело, подскажите?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2013, 17:23
Ответы с готовыми решениями:

Подскажите пожалуйста в чём ошибка
Написала программу. Задание звучит так: Заполнить массив похожим на верхний образом, но только уже...

Подскажите в чем ошибка, пожалуйста
#include <iostream> #include <conio.h> using std::cout; using std::cin; using std::endl; ...

Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём ошибка
Выскакивает ошибка Stack around the voriable 'text' was corrupted. Подскажите пожалуйста в чём...

Подскажите пожалуйста: в чем ошибка(Оператор if)
Здравствуйте, подскажите пожалуйста: в чем ошибка(Оператор if)? #include<iostream>...

13
224 / 224 / 38
Регистрация: 17.12.2010
Сообщений: 713
10.12.2013, 17:29 2
наверное в ошибках!!!!

C++
1
#include "stdafx.h"
вставляете самым первым инклудом, а потом исправляете ошибки, что за ним вылезли

увы, астральный шар и бубен изьяла милиция, не могу теперь сказать точно, что там...
1
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 93
10.12.2013, 17:35  [ТС] 3
помогите пожалуйста как исправить ошибки:
#include <stdafx.h>
#include <stdio.h>



int main(void)
{
static const char filename[] = "file.txt";
FILE * file = fopen ("C:\\file.txt", "r");
int i = 0;
if(file !=NULL)
{
char line[128]; //max size of vector;
int y[128];
int x[128];

while(fgets(line, sizeof line, file) != NULL )
{
sscanf(line,"%d ; %d", &x[i], &y[i]);
printf("x = %d ; y = %d\n", x[i],y[i]);
i++;
}
}
fclose(file);

int xy[128];
int x2[128];
int x_summ, y_summ, xy_summ,x2_summ = 0;
for (int n = 0; n < i /*i+1*/ ; n++)
{

xy[n] = x[n]*y[n];
x2[n] = x[n]*x[n];
x_summ+=x[n];
y_summ+=y[n];
xy_summ+=xy[n];
x2_summ+=x2[n];
}
double a = (i*xy_summ - x_summ*y_summ)/(i*x2_summ - x2_summ);
double b = (y_summ - a*x_summ)/i;

fprintf("y = %f x+%f\n", a,b);
return 0;
}


вот этот код выполняет такую функцию:программа запрашивает имя файла, в этом файле в два столбца записаны значения функции y=f(x); ( значения х и значения у через ";"), мне требуется считать все значения, которые из файла, построить линию тренда ( уравнение прямой , которые наиболее близко располагаются к этим точкам (у=kx+b) (метод наименьших квадратов)

Добавлено через 34 секунды
а то я попытался исправить, так их еще больше стало...
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
10.12.2013, 17:39 4
....
0
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 93
10.12.2013, 17:40  [ТС] 5
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
#include <stdafx.h>
#include <stdio.h>
 
 
 
int main(void)
{
    static const char filename[] = "file.txt";
    FILE * file = fopen ("C:\\file.txt", "r");
    int i = 0;
    if(file !=NULL)
    {
        char line[128]; //max size of vector;
        int y[128];
        int x[128];
       
        while(fgets(line, sizeof line, file) != NULL )
        {
            sscanf(line,"%d ; %d", &x[i], &y[i]);
            printf("x = %d ; y = %d\n", x[i],y[i]);
            i++;
        }
    }
    fclose(file);
 
    int xy[128];
    int x2[128];
    int x_summ, y_summ, xy_summ,x2_summ = 0;
    for (int n = 0; n < i /*i+1*/ ; n++)
    {
       
        xy[n] = x[n]*y[n];
        x2[n] = x[n]*x[n];
        x_summ+=x[n];
        y_summ+=y[n];
        xy_summ+=xy[n];
        x2_summ+=x2[n];
    }
    double a = (i*xy_summ - x_summ*y_summ)/(i*x2_summ - x2_summ);
    double b = (y_summ - a*x_summ)/i;
 
    fprintf("y = %f x+%f\n", a,b);
    return 0;
}
0
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
10.12.2013, 17:42 6
Ms Proger,

Не по теме:

удивительно как люди умудряются писать на плюсах как на си. чем вас std::*fstream не устроили?

0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
10.12.2013, 17:50 7
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
#include <stdio.h>
 
#define MAX_SIZE 128
 
int main(void)
{
    FILE *fd = NULL;
    const char filename[] = "file.txt";
 
 
    if ((fd = fopen ("C:\\file.txt", "r")) != NULL);
    {
        printf("can not open file\n");
        return 1;
    }
 
    int y[MAX_SIZE]= {0};
    int x[MAX_SIZE] = {0};
    char line[MAX_SIZE] = {0};
 
    int count = 0;
    for (; fgets(line, MAX_SIZE, fd); ++count)
    {
        sscanf(line, "%d ; %d", &x[count], &y[count]);
        printf("x = %d ; y = %d\n", x[count], y[count]);
    }
 
    fclose(fd);
 
    int x_summ = 0, y_summ = 0, xy_summ = 0, x2_summ = 0;
    for (int i = 0; i < count; ++i)
    {
        x_summ += x[i];
        y_summ += y[i];
 
        xy_summ += x[i] * y[i];
        x2_summ += x[i] * x[i];
    }
 
    double a = (count * xy_summ - x_summ * y_summ) / (count * x2_summ - x2_summ);
    double b = (y_summ - a * x_summ) / count;
 
    printf("y = %fx + %f\n", a, b);
    return 0;
}
0
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 93
10.12.2013, 18:02  [ТС] 8
Цитата Сообщение от lpvoid Посмотреть сообщение
Не по теме:
удивительно как люди умудряются писать на плюсах как на си. чем вас std::*fstream не устроили?
простите, я вас не понял

Добавлено через 1 минуту
Цитата Сообщение от stima Посмотреть сообщение
Код C++
скажите, что вы изменили в моём коде (какие ошибки у меня были)? и при запуске компиллятора выплывает консолька с текстом "cannot open fie" что это значит?
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
10.12.2013, 18:05 9
Это значит что кто-то невнимательный).

Исправленно
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
#include <stdio.h>
 
#define MAX_SIZE 128
 
int main(void)
{
    FILE *fd = NULL;
    const char filename[] = "file.txt";
 
 
    if ((fd = fopen ("C:\\file.txt", "r")) == NULL);
    {
        printf("can not open file\n");
        return 1;
    }
 
    int y[MAX_SIZE]= {0};
    int x[MAX_SIZE] = {0};
    char line[MAX_SIZE] = {0};
 
    int count = 0;
    for (; fgets(line, MAX_SIZE, fd); ++count)
    {
        sscanf(line, "%d ; %d", &x[count], &y[count]);
        printf("x = %d ; y = %d\n", x[count], y[count]);
    }
 
    fclose(fd);
 
    int x_summ = 0, y_summ = 0, xy_summ = 0, x2_summ = 0;
    for (int i = 0; i < count; ++i)
    {
        x_summ += x[i];
        y_summ += y[i];
 
        xy_summ += x[i] * y[i];
        x2_summ += x[i] * x[i];
    }
 
    double a = (count * xy_summ - x_summ * y_summ) / (count * x2_summ - x2_summ);
    double b = (y_summ - a * x_summ) / count;
 
    printf("y = %fx + %f\n", a, b);
    return 0;
}
0
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 93
10.12.2013, 18:29  [ТС] 10
а все, увидел это в printf (cannot open file)... но почему же тогда в консольке нельзя больше делать никаких дальнейших действий? (простите меня что задаю такие глупые вопросы) я просто программирование с нуля учу)

Добавлено через 14 минут
может нужно что-то с файлом проработать?
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
10.12.2013, 18:38 11
Я добавил коментарии
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
#include <stdio.h>
 
#define MAX_SIZE 128
 
int main(void)
{
    FILE *fd = NULL;
    const char filename[] = "C:\\file.txt";  //полынй путь к файлу который мы будем открывать
 
    if ((fd = fopen (filename, "r")) == NULL); //елси fopen вернет NULL, то
    {
        printf("can not open file\n"); //выведем сообщение
        return 1; //выйдем из программы
    }
 
    //файл удачно открыт
 
    int y[MAX_SIZE]= {0};
    int x[MAX_SIZE] = {0};
    char line[MAX_SIZE] = {0};
 
    int count = 0;
    for (; fgets(line, MAX_SIZE, fd); ++count) //считываем с файла размером MAX_SIZE
    {
        sscanf(line, "%d ; %d", &x[count], &y[count]);   //парсим строку по нужному паттерну
        printf("x = %d ; y = %d\n", x[count], y[count]);  //выводим то что мы получили
    }
    //прочитали все
 
    fclose(fd); //закрыли файл
 
    int x_summ = 0, y_summ = 0, xy_summ = 0, x2_summ = 0;
    for (int i = 0; i < count; ++i) //начали суммировать по количеству прочитанных данных
    {
        x_summ += x[i];
        y_summ += y[i];
 
        xy_summ += x[i] * y[i];
        x2_summ += x[i] * x[i];
    }
 
    double a = (count * xy_summ - x_summ * y_summ) / (count * x2_summ - x2_summ); 
    double b = (y_summ - a * x_summ) / count;
 
    printf("y = %fx + %f\n", a, b); //вывли нужные нам данные
    return 0; //вышли
}
0
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 93
10.12.2013, 19:15  [ТС] 12
в каких случаях fopen ворачивает null?
0
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
10.12.2013, 19:19 13
В каких ворачивает я не знаю, а возвращает - если не удалось открыть файл.

п.с. Вам пора начать хоть немного искать информацию самомоу.
0
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 93
10.12.2013, 19:23  [ТС] 14
спасибо большое)))
0
10.12.2013, 19:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2013, 19:23
Помогаю со студенческими работами здесь

подскажите пожалуйста, в чем моя ошибка?
подскажите пожалуйста, в чем моя ошибка? надо определить точки принадлежащие и не пренадлежащие...

Пожалуйста, подскажите в чем у меня ошибка?
У меня вот такая задача: &quot;Дана символьная матрица размера 4 х 5. Из последовательности её строк...

Подскажите пожалуйста в чем ошибка?(С++,структуры,стек)
Подскажите пожалуйста, в чем ошибка При считывании из файла единственной записи 5группа &quot;Anokhin...

Подскажите пожалуйста, я тут новенький в чем ошибка?
&quot;int main (void){int х, *р; х = 10; *р = х;return 0;}&quot; Я долгое время не как не пойму... У казатель...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru