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

Считывание чисел из файла в массив

25.10.2017, 21:13. Показов 27875. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую все сообщество программистов!
Требуется A)считать числа из файла в массив, Б)а затем удалить в заданном массиве действительных чисел «лишние» (кроме первого) элементы так, чтобы оставшиеся образовывали возрастающую последовательность.
С пунктом Б) проблем нет никаких, но вот с считыванием никак не получается. Выводит пустую строку.
В чем может быть проблема?

Вот собсвтенно исходный код:

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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <fstream>
#include <string.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int i, n,N;
    ifstream f1("C:\\lab4\\input.txt");
    f1>>N;
    int mass[N];
    for(int i=0;i<N;i++)
    {
        f1>> mass[i];
    }
    
    for (int i=0; i<n;)
    if(mass[i]<=mass[i-1])
      {
      for (int j=i; j<n; j++)
         {
          mass[j]=mass[j+1];
         }
         --n;
      }
       else i++;
       cout<<"Ваша возрастающая последовательность: "<<endl;
for (int i=0; i<n; i++)
{
 cout<< mass[i] << endl;
}
 
 _getch();
}
Миниатюры
Считывание чисел из файла в массив  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.10.2017, 21:13
Ответы с готовыми решениями:

Считывание чисел из файла в массив
Делая расчетку, запнулся на считывании данных :cry: Имеется файл вида n m 2 3 2 5 1 5 ...

Считывание чисел с файла в массив
Всем привет. Не могу разобраться, как правильно мне считать N числа с моего файла file.txt и...

Считывание из файла чисел и преобразование их в массив
Здравствуйте, нужно преобразовать числа из файла в исходный массив(в данном случаи Array), с...

Считывание чисел из файла и запись их в массив
Имеется файл txt со следующей строкой: ght# 1, nkat= 8, str= 1.00000, lmv= 0.5000 0.0001 ...

4
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
25.10.2017, 23:08 2
Путь правильно указан? Массив создавай через new.
0
2 / 2 / 0
Регистрация: 20.10.2015
Сообщений: 11
25.10.2017, 23:37  [ТС] 3
Путь точно правильный. Про new и delete знаю, но как и с чем их едят пока не разобрался.
Нужен одномерный динамический массив, верно?
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
26.10.2017, 09:36 4
Цитата Сообщение от rv1nbxvv Посмотреть сообщение
Нужен одномерный динамический массив, верно?
Да. Ну либо используй обычный с запасом по длине: 100, 1000.
0
2 / 2 / 0
Регистрация: 20.10.2015
Сообщений: 11
18.12.2017, 18:58  [ТС] 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
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
#include <iostream>
#include <string.h>
#include <conio.h>
#include <fstream>
#include <string.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    int N;
 
    do {
 
    cout << "Введите N: ";
    cin >> N;
    cout << endl;
 
    if(N <= 0) {
        cout << "Некорректное число! Нужно как минимум 1!" << endl;
        return 1;
    }
 
 
    int *mass = new int[N];
 
    string filename;
    cout << "Введите имя файла: ";
    cin >> filename;
    cout << endl;
 
    ifstream f1;
 
    f1.open(filename.c_str(), std::ifstream::in);
 
    if(!f1.is_open()) {
        cout << "Ошибка открытия файла!" << endl;
        return 1;
    }
 
    cout << "Файл открыт." << endl;
 
    for(int i=0; i<N; i++) {
        if(f1.eof()) {
            cout << "Недостаточно чисел в файле!" << endl;
            delete mass;
            return 1;
        }
        f1 >> mass[i];
    }
 
    cout << "Файл считан." << endl;
    f1.close();
 
    int type = 1;
 
    do {
        cout << "1 - сортировка по возрастанию, 2 - по убыванию\n>";
        cin >> type;
        if(type != 1 && type != 2) {
            cout << "Неверное значение." << endl;
            continue;
        }
        else
            break;
    } while(1);
 
    for (int i=0,k; i<N ; i++) {
        for (int j=0; j<N-1; j++) {
            switch(type) {
                case 1:
                    if (mass[j]>mass[j+1]) {
                        k=mass[j];
                        mass[j]=mass[j+1];
                        mass[j+1]=k;
                    }
                    break;
                case 2:
                    if (mass[j]<mass[j+1]) {
                        k=mass[j];
                        mass[j]=mass[j+1];
                        mass[j+1]=k;
                    }
                    break;
            }
        }
    }
 
    if(type == 1)
        cout<<"Ваша возрастающая последовательность: "<<endl;
    else
        cout<<"Ваша убывающая последовательность: "<<endl;
    for (int i=0; i<N; i++)
        cout<< mass[i] << " ";
 
    cout << endl;
 
 
    delete mass;
 
    int choise = 0;
 
    cout << "Для повторного исполнения введите 1, для выхода - любое число\n>";
    cin >> choise;
 
    if(choise == 1)
        continue;
    else
        break;
 
    } while(1);
 
   // _getch();
}
2
18.12.2017, 18:58
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.12.2017, 18:58
Помогаю со студенческими работами здесь

Считывание из файла в динамический массив дробных чисел
Всем добрый день! проблема есть файл txt в не лежат дробные числа таким образом: 122.55, 555.22,...

Считывание чисел из файла в массив, без пробелов
Добрый день. Нужно реализовать считывание чисел из файла, выбираемого в OpenDialog'е, в массив....

Считывание таблицы чисел из файла в двумерный массив
Написать программу, считывающую таблицу чисел из файла в двумерный массив.

Считывание из файла чисел, разделенных пробелом, в массив
В текстовом файле массив целых чисел записанных через пробел. Затем переход на новую строку и еще...

Считывание из файла массив целых чисел и действия над ним
помогите написать программу. Из файла (имя файла вводится с клавиатуры) считывается массив целых...

пытаюсь сделать реализацию через считывание из файла кол-ва чисел, i,но незнаю как сделать реализацию из файла в массив и сортировки.
В файле input.txt находится неизвестное количество вещественных чисел в интервале . Выцапарать их...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Когда лучше использовать LinkedList вместо ArrayList в Java
bytestream 28.01.2025
При разработке Java-приложений выбор правильной структуры данных играет ключевую роль в обеспечении эффективности и производительности программы. ArrayList и LinkedList являются двумя. . .
Какой ответ HTTP лучше использовать: 403 Forbidden или 401 Unauthorized, когда недостаточно прав
bytestream 28.01.2025
В современной веб-разработке правильная обработка ошибок и точное информирование клиентов о статусе их запросов играют критическую роль в создании надежных и безопасных приложений. Особое внимание. . .
Как получить список всех файлов коммита в Git
bytestream 28.01.2025
Система контроля версий Git представляет собой мощный инструмент для управления изменениями в программном коде и других файлах проекта. В основе работы Git лежит концепция коммитов - снимков. . .
Как записать только часть изменений файла в Git
bytestream 28.01.2025
В процессе разработки программного обеспечения часто возникает необходимость сохранить только определенные изменения из множества внесенных правок в файлах. Система контроля версий Git предоставляет. . .
[golang] 80. Remove Duplicates from Sorted Array II
alhaos 28.01.2025
В предоставленном упорядоченном по возрастанию целочисленном слайсе, оставить уникальные элементы полюс один возможный дубликат. Вернуть количество таких элементов. / / . . .
Что такое внедрение зависимостей и для чего оно применяется
bytestream 27.01.2025
В современной разработке программного обеспечения одной из ключевых проблем является управление зависимостями между различными компонентами системы. Внедрение зависимостей (Dependency Injection, DI). . .
Как установить cellpadding и cellspacing в CSS
bytestream 27.01.2025
При создании веб-страниц с табличными данными разработчики часто сталкиваются с необходимостью правильного оформления внутренних и внешних отступов в таблицах. В традиционной разметке HTML для этих. . .
Чем отличаются public, protected, package-private и private в Java
bytestream 27.01.2025
В языке программирования Java механизм модификаторов доступа играет ключевую роль в реализации одного из фундаментальных принципов объектно-ориентированного программирования - инкапсуляции. . . .
Зачем нужно explicit в C++. Преобразование типов
bytestream 27.01.2025
В мире программирования на C++ управление преобразованием типов данных играет crucial роль в создании надежного и безопасного кода. Язык C++ предоставляет множество механизмов для контроля над. . .
Как создать удалённую (remote) ветку в Git
bytestream 27.01.2025
Система контроля версий Git стала неотъемлемой частью современной разработки программного обеспечения, предоставляя разработчикам мощные инструменты для управления кодовой базой. Одним из ключевых. . .
Как создать утечку памяти в Java
bytestream 27.01.2025
Утечка памяти в Java представляет собой ситуацию, когда программа неэффективно использует доступную память, удерживая ссылки на объекты, которые больше не нужны для работы приложения. Несмотря на. . .
КуМир: как решать задачи на числа
bytestream 27.01.2025
КуМир (Комплект Учебных МИРов) представляет собой уникальную образовательную среду программирования, разработанную специально для обучения основам алгоритмизации и программирования. Эта система. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru