Ввод чисел в файл с помощью генератора случайных чисел

30.10.2019 21:49 Администратор
Печать
(7 голоса, среднее 4.57 из 5)

Написание программы, выполняющую следующие действия:

Ввод чисел в файл text.txt с помощью генератора случайных чисел;

Вывод на экран из файла тех чисел, которые делятся на 2 и не делятся на 3 и их ввод в файл text1.txt.

Пример работы программы (вывод случайных чисел и тех чисел, которые делятся на 2)

Вывод случайных чисел и тех чисел, которые делятся на 2

Среда программирования Borland C++ 3.1

Листинг программы:

#include <stdlib.h>//необходимо для srand
#include <stdio.h>//необходимо для cprintf, fopen, fclose
#include <conio.h>//необходимо для getch
void main()
{const num=20;//константа кол-ва случайных чисел
srand((unsigned) time(NULL));//дополнительно для rand
int f,a,m = 2,n = 3,h,l;//переменные
FILE *fp;//имя указателя файла text.txt
FILE *fd;//имя указателя файла text1.txt
fp=fopen("text.txt","w+t");//Открываем файл fp для записи сгенерированых чисел
/*Запись целых чисел в файл*/
for(int i=0;i<20;i++)
{f=rand()%21;//инициализация генератора случ. чисел
fputc(f,fp);//заполняем файл fp случайными числами
}
fclose(fp);//файл fp закрыли
cprintf("\nGenerated numbers!\n\r");
fp=fopen("text.txt","r+t"); //Открываем файл fp для чтения
while((a=fgetc(fp))!=EOF)//если достигнут конец файла fp
{
cprintf("%d ",a);//выводим случайные числа
}
a=0;
fclose(fp);//файл fp закрыли
/*Чтение чисел из файла и запись в файл*/
fp=fopen("text.txt","r+t"); //Открываем файл fp для чтения
fd=fopen("text1.txt","w+t");//Открываем файл fd для записи
do
{
a=fgetc(fp);//Считываем число из файла fp и записываем его в переменную а
h = (a % m);//Делим число по модулю
l = (a % n);//Вывести числа которые делятся m и не делятся
if(h == 0&&l>0)//Сравниваем числа в переменных h l с числом 0
{
fputc(a,fd);//Записываем число в файл fd (text1.txt)
}
}while(a!=EOF);//Продолжать цикл пока переменная а не равна константе EOF (Концу файла)
fclose(fp); //Закрываем файл fp
fclose(fd);//Закрываем файл fd
/*Вывод чисел по одному на консоль из файла fd*/
fd=fopen("text1.txt","r+t"); //Открываем файл fd для чтения
cprintf("\n\n\rConclusion of the numbers on console!\n\r");//Пояснения для пользователя
while((a=fgetc(fd))!=EOF)//если достигнут конец файла fd
{
cprintf("%d ",a);//выводим полученные числа
}
fclose(fd);//файл fd закрыли
getch();//задержка программы<
}
Download SocComments v1.3