0 / 0 / 1
Регистрация: 18.12.2016
Сообщений: 75
1

Заполнение файла n целыми случайными числами в интервале [-54, 33]

17.06.2017, 11:44. Показов 7717. Ответов 1

Author24 — интернет-сервис помощи студентам
Заполнить файл n целыми случайными числами в интервале [-54, 33]. Вывести содержимое файла на экран и вычислить количество отрицательных среди них чисел, найти их произведение. У меня единственная проблема здесь: количество отрицательных чисел подсчитывается правильно, а вот произведение нет. Помогите мне, пожалуйста.
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0, ""); // локализация
    char filename[280]; // массив для хранения пути к сохраняемому файлу
    int i, n = 0; // i - счетчик, n - количество чисел
    int a = 0; // a - текущее целое число
    int max = -54;
    int otrizchisla = 0;
    int proiz = 1;
    cout << "\n Введите путь к сохраняемому файлу и укажите имя файла \n\tнапример: D:\\ProgramC++\\Files1.txt \n";
    cin >> filename;
    ofstream F; // создание файловой переменной, поток для записи в файл
    F.open(filename, ios::trunc); // открытие файла на запись, режим "очистить файл"
    if (F.fail()) // если открытие файла прошло некорректно, то
    {
        cerr << "Ошибка открытия файла. Проверьте местоположение и имя файла! \n"; // вывод сообщения об ошибке
    }
    else
    {
        cout << "\n Введите количество чисел, n = ";
        cin >> n;
        cout << endl;
        // цикл для ввода целых чисел и записи их в файл
        srand((unsigned)time(NULL)); // генерация произвольной последовательности случайных чисел
        for(i = 0; i < n; i++)
        {
            a = -54 + rand() % 87;
            F << a << ' '; // запись в поток чисел, введенных с клавиатуры с разделением пробелом
            if(a < 0)
            {
            otrizchisla++;
            }
            proiz *= otrizchisla;
        }
        cout << "Количество отрицательных чисел: " << otrizchisla << endl;
        cout << "Произведение отрицательных чисел: " << proiz << endl;
    }
    F.close(); // закрытие потока
 
    int *mas = new int[n]; // создание динамического массива для данных из файла
    ifstream F1(filename); // создание файловой переменной, поток для чтения из файла
    for(i = 0; i < n; i++)
    {
        F1 >> mas[i];
    }
    F1.close(); // закрытие потока
 
    cout << "Содержимое файла " << filename << endl;
    for(i = 0; i < n; i++) // вывод на экран содержимого массива
    {
        cout << mas[i] << endl;
    }
    delete [] mas; // высвобождение памяти
 
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2017, 11:44
Ответы с готовыми решениями:

Заполнить файл случайными целыми числами в заданном интервале
Заполнить файл целыми 20 числами, полученными с помощью генератора случайных чисел в интервале от 0...

Заполнение массива случайными числами в заданном интервале
Пример функции для заполнение случайными числами в от A до B включительно: void input_DvuArr(int...

Заполнить матрицу целыми числами в интервале от 40 до 60, вывести ее в виде таблицы
помогите пожалуйста с задачей &quot;заполнить массив A элементы массива -целые числа в интервале от 40...

Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран
Помогите пж. Нужно создать список и заполнить его 10 случайными целыми числами и вывести на экран....

1
1427 / 1210 / 821
Регистрация: 29.02.2016
Сообщений: 3,618
17.06.2017, 11:52 2
C++
1
2
3
4
5
if(a < 0)
            {
            otrizchisla++;
            proiz *= a;
}
1
17.06.2017, 11:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2017, 11:52
Помогаю со студенческими работами здесь

Заполнение списка рандомными целыми числами
Доброго времени суток! Мне необходимо создать циклический одномерный список и заполнить его...

Заполнение случайными числами
у меня вот какая проблема...вот часть программы заполнения массива случайными числами....но каждый...

Заполнить массив случайными числами, лежащими в интервале от 0 до 100
Доброе время суток уважаемые форумщики. Помогите решить задачу по С++. Нужно заполнить массивы...

Заполнить одномерный массив случайными числами в заданном интервале
Задан одномерный масив А. Заполнить его случайными числами в интервале (1-10). Вывести на экран....


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

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

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