Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Slavko3335
0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 57
1

Задать 9 переменных целого типа, записать их в файл на диске, прочитать из файла в массив

03.05.2012, 23:12. Просмотров 523. Ответов 2
Метки нет (Все метки)

Задать 9 переменных целого типа, записать их в файл на диске, прочитать их из файла в массив размерностью 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
46
47
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
 
FILE* f;
 
void main()
{
    clrscr();
    
    int i;
    int* a1[9]={1,2,3,4,5,6,7,8,9}, a2[9];
    
    for (i=0; i<9; i++)
        a[i]=i+1;
 
    f = fopen("C:\\work\\list.txt","w" );
    if ( f!= NULL )
        printf("\nSuccessful opening C:\\work\\list.txt in mode w.\n");
    else { 
        printf("pomilka\n") ; exit(0); 
    }
    
    for ( i=0; i<9; i++)
        fprintf(f,"%d ",a[i]);
    
    fclose(F);
    
    f = fopen("C:\\work\\list.txt","r" );
    if ( f!= NULL )
        printf("\nSuccessful opening C:\\work\\list.txt in mode r.\n");
    else { 
        printf("pomilka\n") ; exit(1) ;
    }
    
    int* b=new int[9];
    f=fopen("C:\\work\\list.txt","r");
    
    for( i=0; i<9; i++)
        fscanf(f,"%d",&b[i]);
    
    fclose(F);
    
    for( i=0; i<9; i++)
        printf("%d  ",b[i]);
    printf("\n");
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2012, 23:12
Ответы с готовыми решениями:

Задать 9 переменных целого типа, записать их в файл на диске, прочитать их из файла в массив размерностью 9
Здравствуйте. Нужна помощь. Буду благодарен. Эта программа должна быть написана...

Записать массив в файл и прочитать обратно
Задать массив целых чисел размерностью 12, записать его в файл на диске,...

Прочитать из файла, отсортировать и записать результат в файл
Необходимо прочитать числа из файла как список, провести сортировку (по...

Переменные целого типа присвоить число, образованное совместимых записью этих переменных
Заданные три переменных символьного типа. Переменные целого типа присвоить...

Из существующего файла целого типа прочитать последние 10 элементов и найти их сумму
Подскажите, как из существующего файла целого типа прочитать последние 10...

2
DelphiM0ZG
5 / 5 / 3
Регистрация: 21.04.2012
Сообщений: 15
04.05.2012, 05:31 2
Код не компилировался по целому ряду причин, первая из которых - в первом цикле массив назван а, а этот массив не объявлен, язык Си чувствителен к регистру, поэтому переменные f и F - разные, остальные проблемы описал в коде. Возможно, у Вас этот код не скомпилируется, если Ваш Си-компилятор требует объявлять переменные в начале блока, тогда объявите массив b вместо массива a2. Я пользовался Dev-C++ Compiler, вышеописанной проблемы у него нет. И последнее: форматируйте код - так для Вас будет намного понятнее и проще разобраться. Сравните мой код и Ваш, в коде, написанном сплошняком (особенно в Си-шном), разобраться ой как непросто.

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
#include <stdlib.h>
#include<conio.h>
#include <stdio.h>
#include <conio.h>
 
int main()
{
    FILE* f;  
    int i;
    // не знаю зачем нужен массив a2
    int a1[9]={1, 2, 3, 4, 5, 6, 7, 8, 9}, a2[9];
   // не понимаю смысла этого цикла: массив а1 - константа
   /* for(i = 0; i < 9; i++)
        a1[i] = i + 1; */ 
 
    f = fopen("list.txt","w" );
    if (f != NULL )
       printf("\nSuccessful opening list.txt in mode w.\n");
    else 
    { 
         printf("pomilka\n") ; 
         exit(0); 
    }
    
    for(i = 0; i < 9; i++)
        fprintf(f, "%d ", a1[i]);
 
    fclose(f);
    
    f = fopen("list.txt","r" );
    if (f != NULL )
       printf("\nSuccessful opening list.txt in mode r.\n");
    else 
    { 
         printf("pomilka\n") ; 
         exit(1);
    }
    printf("\n");
    
    int b[9]; // этот массив был объявлен как в C#
 //   f = fopen("list.txt","r"); зачем второй раз открывать уже открытый файл?
    for(i = 0; i < 9; i++)
         fscanf(f,"%d",&b[i]);
    fclose(f);
 
    for(i = 0; i < 9; i++)
         printf("%d ",b[i]);
    
    printf("\n");
    puts("\n============================\n\nDavi na ANY KEY!!!");
    getch(); // объявлена в conio.h
    return 0;
}
0
fasked
Эксперт С++
4992 / 2571 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
04.05.2012, 07:10 3
Slavko3335, в Вашем коде одна строка:
C++
1
int* b=new int[9];
явно говорит мне о том, что я должен перенести тему в раздел C++. Переносить или исправите на malloc/calloc?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2012, 07:10

Задать массивы Х и Z элементов целого типа. Создать новый массив Y, включив массив Z между k-м
Задать массивы Х и Z элементов целого типа. Создать новый массив Y, включив...

Записать матрицы в файл и прочитать их из файла.
Доброго времени суток!!! Помогите пожалуйста решить!! В файл t1...

Прочитать данные из файла и записать в другой файл
Давайте темам осмысленные имена Здравствуйте, Вам! Работаю типичным...


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

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

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