Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/64: Рейтинг темы: голосов - 64, средняя оценка - 4.53
2 / 2 / 1
Регистрация: 06.09.2015
Сообщений: 35
1

Заполнение массива из файла (файловый ввод/вывод)

10.01.2016, 21:38. Показов 12722. Ответов 5
Метки нет (Все метки)

Здравствуйте. Помогите пожалуйста. Задание такое: Сформировать массив целых чисел заполнением из файла. Текстовый файл создан заранее. Предусмотреть проверку разницы количества элементов файла и текущего размера массива. Если размер массива больше количества элементов файла, оставшиеся элементы массива заполнить нулями или случайными числами.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2016, 21:38
Ответы с готовыми решениями:

Заполнение массива структур из .txt файла (файловый ввод/вывод)
Доброго времени суток! Есть некоторая задача: в файле .txt есть список студентов(ФИО, предмет,...

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран?...

Реализовать вывод массива объектов типа Student на консоль (файловый ввод/вывод)
Как сделать чтобы список студентов выводился на экран в конце? #include<iostream> ...

Файловый ввод-вывод с созданием файла
Доброе утро. Написал программу по данной теме, но компилятор ругается на код, не могли бы помочь,...

5
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,638
10.01.2016, 21:39 2
Azaz888, Пример файла привиди

Добавлено через 12 секунд
И свои наброски тоже
0
2 / 2 / 1
Регистрация: 06.09.2015
Сообщений: 35
10.01.2016, 21:41  [ТС] 3
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
#include<iostream>
#include<fstream>
#include <time.h>
#include<cstdio>
using namespace std;
int input(int Max)//Ввод размера и сравнение с Max
{
    int n;
    cout<<"Введите размер массива:";
    cin>>n;
    while(n<=0||n>Max)
    {
        cout<<"Введите размер массива снова:";
        cin>>n;
    }return n;
}
void Zap(int A[],int n)//Ручной ввод
{
    for(int i=0;i<n;i++)
    {
        cout<<i+1<<"Элемент массива->";
        cin>>A[i];
    }
}
void Zap(int A[],int n,int a,int b)//Рандомный ввод
{
    
    for(int i=0;i<n;i++)
 
        {
            A[i]=rand()%(b-a+1)+a;
    
        }
}
bool Zap(int A[],int n,char Name1[])//Чтение из файла
{
    ifstream out(Name1);
    if(!out) 
    {
        cout<<"Ошибка,файл не открыт."<<endl;
        return 1;
    }
    int k;
    for(int i(0);i<n&&out>>k;++i)
        {
            A[i]=k;
        }
    
    out.close();
    return 0;
 
}
 
void display(int A[],int n)//Вывод на экран
{
    cout<<"Как будем выводить массив?: \n 1-горизонтально 2- вертикально\n 3-вертикально и горизонтально->";
    int a;
    cin>>a;
    cout<<endl;
    switch(a)
    {
    case 1:
        {
    cout<<"Вывод на экран горизонтально: ";
    for (int i=0; i<n; i++)
    {
        cout<<"["<<i+1<<"]"<<":"<<A[i] <<" ";
    }
    cout<<endl;
        }break;
    case 2:
        {
    cout<<"Вывод на экран вертикально: "<<endl;
    for (int i=0; i<n; i++)
    {
        cout<<"["<<i+1<<"]"<<":"<<A[i]<<" "<<endl;
    }
        }break;
    case 3:
        {
            cout<<"Вывод на экран горизонтально: ";
            for (int i=0; i<n; i++)
            {
                cout<<"["<<i+1<<"]"<<":"<<A[i] <<" ";
            }
            cout<<endl;
 
            cout<<"Вывод на экран вертикально: "<<endl;
            for (int i=0; i<n; i++)
            {
                cout<<"["<<i+1<<"]"<<":"<<A[i]<<" "<<endl;
            }
        }}
}
 
 
int main()
{
    setlocale(0,""); 
    srand((unsigned)time(NULL));
    char Name1[]="Input.bin";
    int a,b;
    const int Max=200;
    int A[Max];
    int N,n=input(Max);
    cout<<"Как будем вводить: \n 1-вручную 2- рандом 3- из файла->";
    cin>>N;
    switch(N)
    {
    case 1://Через ввод
        {
            Zap(A,n);
        }break;
    case 2: //Через рандом
        {
            cout<<"Введите диапазон:"<<endl;
            cout<<"введите a=";cin>>a;
            cout<<"введите b=";cin>>b;
            int k;
    if(a>b)
    {
        int t=a;a=b;b=t;
    }
    
    Zap(A,n,a,b);
 
        }break;
    case 3://Заполнение из файла???
        {
 
            ifstream out("D:/13.txt",ios::out);
            if(!out){cerr<<"error/n"<<endl;
            return 1;}
            for(int i=0;i<n;i++)
            {
                out.read((char*)&A[i],sizeof(i));
                out.close();
                char ch=getchar();
            }}break;
    }
    display(A,n);
    system ("pause");
    return 0;
}
0
Модератор
Эксперт С++
11051 / 9116 / 5476
Регистрация: 18.12.2011
Сообщений: 24,380
10.01.2016, 21:42 4
Лучший ответ Сообщение было отмечено Azaz888 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
   const int N=100;
   int mass[N]={0};
   ifstream ff("file.txt");
   if(!ff)
      return 1;
   for(int i=0;i<N;i++)
      ff>>mass[i];
// печать массива
// сами напишите
   return 0;
}
1
2 / 2 / 1
Регистрация: 06.09.2015
Сообщений: 35
10.01.2016, 21:43  [ТС] 5
Mesteriis, там где case 3, там должен быть код, незнаю как делать, помогите пожалуйста
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,638
10.01.2016, 21:50 6
Azaz888, ну тебе принципе уже ответили
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2016, 21:50

Чтение из файла STL (файловый ввод/вывод)
В чем проблема? map.ccp void Map::ReadFromFile(fstream&amp; F) { string s,key; int k, value,...

Сортировка массива структур (файловый ввод/вывод)
Здравствуйте помогите пожалуйста разобраться с программой которая записывать ФИО в файл проблема в...

Запись структуры в файл, чтение из файла и удаление (файловый ввод/вывод)
Добрый вечер! Возникла такая проблема, что при добавлении записи, удаляются уже имеющиеся записи в...

Добиться, чтобы была ошибка открытия файла (файловый ввод/вывод)
Здравствуйте! Вот небольшая прога которая по идее должна ждать пока файл не будет доступен и...


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

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

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