Форум программистов, компьютерный форум, киберфорум
Наши страницы

Файлы в C++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Необходимо вывести элементы struct на экран http://www.cyberforum.ru/cpp-beginners/thread980655.html
Вообщем, само условие задачи: Описать структуру с данными о избирательном участке . В полях структуры должны храниться данные о номере участка , общее число избирателей , количество избирателей,...
C++ Выделение памяти под двумерный массив Доброе время ! Проблема такая : препод задал задачу сортировки массива произвольного типа(char* int* или double*) и сказал, чтобы любой тип массива хранился в структуре такого типа struct Storage {... http://www.cyberforum.ru/cpp-beginners/thread980646.html
Защита от некорректного ввода C++
Здравствуйте! Нужно осуществить контроль при заполнении матрицы, если введены не корректные данные, вывести сообщение, и переспросить ввод. Корректными данными являются: целые числа. При вводе...
C++ Указатель не могу разобраться
Здравствуйте. есть строка к примеру tmp=int(TEMP.number2-48); а что значит tmp*=(int(TEMP.number1-48)); именно звездочка после переменной ??? Это ведь не указатель
C++ Возврат и присвоение объекта из функции без копирования http://www.cyberforum.ru/cpp-beginners/thread980624.html
Возможно ли в С++ вернуть объект (то есть записать данные объекта) напрямую в область памяти, выделенную в функции-приемнике? Наверно не очень понятно выразился, вот пример: // какой то тип...
C++ Нужна подсказка Обьясните пожалуйста что не так. При компилирование выводит ""Vam bilshe nizh sto rokiv"" //--------------------------------------------------------------------------- #pragma hdrstop #include... подробнее

Показать сообщение отдельно
Alinusya
0 / 0 / 0
Регистрация: 19.04.2013
Сообщений: 5

Файлы в C++ - C++

18.10.2013, 09:16. Просмотров 562. Ответов 0
Метки (Все метки)

1)С помощью текстового редактора создать файл text1.txt и заполнить словами из латинских букв (не менее 30 слов).
Файл number2.txt программно заполнить случайными целыми числами, принадлежащими диапазону от -100 до 100. Количество чисел в файле задается с клавиатуры. Количество чисел в каждой строке является произвольным числом из диапазона от 0 до 10 и задается с помощью функции rand(). Вывести числа на консоль, сохранив разбиение на строки, соответствующее файлу number2.txt.
При реализации программы необходимо для заполнения файла number2.txt случайными целыми числами использовать заголовочный файл, содержащий функцию для заполнения файла. При работе с файлом, заполненным словами, можно использовать функции работы со строками. При выводе результата в файл number3.txt сохранить разбиение на строки.
Записать в файл total.txt сначала все элементы файла number2.txt, выровненные по правому краю, а затем все элементы файла text2.txt, выровненные по центру. Переименовать файл total.txt (новое имя файла вводится с клавиатуры).
Вывести на консоль сначала все элементы файла number2.txt, выровненные по правому краю, а затем все элементы файла text2.txt, выровненные по центру.




2)Найти разность пар соседних элементов файла number1.txt. Результат вывести в файл number3.txt и на консоль. В конец файла number2.txt добавить слова "Result = " и количество элементов, равных нулю, вывести полученный результат на консоль.
Вывести все слова файла text1.txt, предварительно преобразовав каждое из них по следующему правилу: оставить в слове только первые вхождения каждой буквы. Результат записать в файл text2.txt.



первую часть я выполнила, не знаю как реализовать разность двух соседних чисел и оставить в слове только первые вхождения каждой буквы




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
#include <iostream>
#include <sstream>
#include <fstream>
#include <string.h>
#include <stdio.h>
#include <math.h>
 
using namespace std;
 
#include "vvod.h"
 
#define MAXSTRING 250   //максимальная длина строки текстового файла
 
void chislo_o(const char *a) //Посчет чисел равных 0
{
 char *s=new char[MAXSTRING];
 char tmp[16];
 int i;
 int is;
 int l;
 int n;
 
 ifstream f(a);
 l=0;
 while (!f.eof()) {
  f.getline(s,MAXSTRING);
  for (i=0,is=-1;i<strlen(s);i++) //strlen-возвращает длину строки
   if (s[i]==' ') {            //найден конец числа
    strncpy(tmp,&s[is],i-is);//для копирования содержимогов буфер ограниченного размера
    n=atoi(tmp);             //преобразовать символьное число к типу int
    if (n=0){ l++; }
    is=-1;
   }
   else
    if (is<0) is=i;
 }
 f.close();
 ofstream fout(a,ios::app); //открытие файла для добавления в конец
 fout<<"Result="<<l<<endl;
 fout.close();
 cout<<"Result="<<l<<endl;
}
 
void Raznost(const char *a, const char *b) //Запись в файл разности соседних элементов
{
 char *s=new char[MAXSTRING];
 char tmp[16];
 int i;
 int is;
 int n;
 
 ifstream fin(a);
 ofstream fout(b);
 while (!fin.eof()) {
  fin.getline(s,MAXSTRING);
  for (i=0,is=-1;i<strlen(s);i++)
   if (s[i]==' ') {
    strncpy(tmp,&s[is],i-is);
    n=atoi(tmp);
    int Raz;
    Raz ?????
    fout<<Raz<<' ';
    is=-1;
   }
   else
    if (is<0) is=i;
  fout<<endl;
 }
 fin.close();
 fout.close();
}
 
void zapis(const char *a, const char *b, int shirina)//запись в total и выравнивание
{
 int n=256;
 ofstream fout("total.txt");
 ifstream f1in(a);
 ifstream f2in(b);
 while (!f1in.eof()) {
char *s=new char[n];
  f1in.getline(s,n);
  for (int i=0;i<=shirina-strlen(s);i++) fout<<' ';
  fout<<s<<endl;
 }
 while (!f2in.eof()) {
   char *s=new char[n];
  f2in.getline(s,n);
  for (i=0;i<=(shirina-strlen(s))/2;i++) fout<<' '; //дополнение пробелами слева
  fout<<s<<endl;
 }
 f1in.close();
 f2in.close();
 fout.close();
}
 
void postrochnii_vivod(const char* a) //Построчный вывод содержимого текстового файла на консоль
{
int n=256;
 ifstream f(a);
 while (!f.eof()) {
    char * s=new char[n];
  f.getline(s,n);
  cout<<s<<endl;
 }
 f.close();
}
 
 
 
int main ()
{
 char ft[1024];
 int n;
 
ifstream inFile("text1.txt");
 cout<<"Vvedite kolichestvo chisel v faile: ";
 cin>>n;
 vvod("number2.txt",n);
 cout<<"number2.txt"<<endl;
 postrochnii_vivod("number2.txt");
 zapis("number2.txt","text1.txt",75);
 cout<<"total.txt"<<endl;
 postrochnii_vivod("total.txt");
 cout<<"Vvedite novoe imya dlya total.txt: ";
 cin>>ft;
 rename("total.txt",ft);
 Raznost("number2.txt","number3.txt");
 cout<<"number3.txt"<<endl;
 postrochnii_vivod("number3.txt");
 chislo_o("number2.txt");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru