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

Непонятная ошибка - C++

Восстановить пароль Регистрация
 
Сеня 2007
2 / 2 / 0
Регистрация: 03.10.2010
Сообщений: 182
12.10.2012, 17:03     Непонятная ошибка #1
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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <locale.h>
 
int i;
 
int fact (int n){ 
     if ( n<1 ) return 1; 
     else return n*fact(n-1); 
     }
void FvMa(char*name,int*a,int n)//запись данных из файла в массив
{
         i=0;
        
        FILE *in;
        if(!(in=fopen(name,"rt")))
        {
                printf("ошибка открытия файла\n");
                return;
        }
        
        if(in!=NULL)
        {
            while(!feof(in))
            {
                fscanf(in,"%d  ",&a[i]);
                i++;
                
                
            }
            n=i;
        }
        
 
 
 
        
        fclose(in);
}
void main()
{
    setlocale (LC_ALL, "Russian");
 
FILE* out;
int i,n;
int *a;
char ima[100];
printf("Введите имя файла: \n");
scanf("%s",ima);
printf("Введите количество переменных: \n");
scanf("%i",&n);
FvMa(ima,a,n);//запись из файла в массив
 
out=fopen("out.txt","w");
for(int i=1; i<n; i++)
        {
        fprintf(out,"%d ", &a[i]);
        }
    fcloseall();
}
Ругается при вызове функции на а. Почему понять не могу!!! Подскажите пожалуйста!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2012, 17:03     Непонятная ошибка
Посмотрите здесь:

непонятная ошибка( C++
Непонятная ошибка C++
C++ Непонятная ошибка
Непонятная ошибка C++
C++ Непонятная ошибка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andsteadur
152 / 136 / 3
Регистрация: 23.05.2009
Сообщений: 275
12.10.2012, 17:05     Непонятная ошибка #2
C++
1
int *a;
просто указатель, ни чем не инициализированный, указывает черт-знает-куда. Нужно выделить память под массив
Сеня 2007
2 / 2 / 0
Регистрация: 03.10.2010
Сообщений: 182
12.10.2012, 17:18  [ТС]     Непонятная ошибка #3
Выделил я динамическую память таким образом a = new int(100);
Только теперь в файл записывает произвольные числа почему то!?
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
12.10.2012, 17:28     Непонятная ошибка #4
так нужно, если инициализируешь массив:
C++
1
a = new int[100];
Сеня 2007
2 / 2 / 0
Регистрация: 03.10.2010
Сообщений: 182
12.10.2012, 17:30  [ТС]     Непонятная ошибка #5
Все равно записывает в файл вот такие числа: 6185164 6185168 6185172 6185176 6185180 6185184 6185188 6185192 6185196 6185200 6185204 6185208 6185212 6185216
Хотя там простые числа. В чем проблема?
Yandex
Объявления
12.10.2012, 17:30     Непонятная ошибка
Ответ Создать тему
Опции темы

Текущее время: 03:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru