Задачи на файлы С++

  • Автор темы Автор темы Lomka
  • Дата начала Дата начала
L

Lomka

Не могу решить задачи. может кто найдет ошибки в коде
1. Программным путем создать файл следующего вида:
1
1 2
1 2 3
1 2 3 4

1 2 3 4 5 6 7 8 9
Доработайте программу так, чтобы количество строк запрашивалось у пользователя с клавиатуры.

все что я смогла сделать:

#include <fstream.h>
#include <conio.h>
#include <iomanip.h>

void main()

{clrscr();
fstream fo;
fo.open("fo.txt",ios::out);

int i,x;int k=1;

cout<<"vvedi:"<<"\n"<<"x=";
cin>>x;

for (i=1;i<x;i++)
{for (i=1;i<k;i++)
fo<<i;}
k++;
fo.close();
getch();
}

Создается файл, но ничего не записывается туда.

Вот еще одна задача:
2. Даны два текстовых файла. Вывести их содержимое на экран. Сравнить файлы на совпадение и вывести результат проверки.

Код:
#include <ctype.h>
#include <fstream.h>
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

void main()
{clrscr();
char s1,s2;int result;
ifstream F ("d:\\1.txt");
if (F.fail())
{ cout <<"Oshibka \n";}
cout<<"text 1ogo faila:";
while (F>>s1)
cout <<s1;

ifstream F1 ("d:\\2.txt");
if (F1.fail())
{ cout <<"Oshibka \n";}
cout<<"text 2ogo faila:";
while (F1>>s2)
cout <<s2;

result=strcmp(int const char *s1,int const char *s2);
if (result==0)
cout<<"s1=s2"<<endl;
else if (result>0)
cout<<"s1<s2"<<endl;
else cout<<"s1>s2"<<endl;
return 0;

F.close();
F1.close();
getch();
}
эта задача не запускается...
 
2.
C++:
#include <iostream>
#include <algorithm>
#include <fstream>
#include <iterator>

typedef std::istreambuf_iterator<char> Itr;

int main ()
{
std::ifstream in1 ("file1");
if (in1)
{
std::cout << "Первый файл: " << std::endl;
std::for_each (Itr (in1), Itr (), std::bind1st (std::mem_fun (&std::ofstream::put), &std::cout));
std::cout << std::endl << std::endl;
}
else std::cout << "Ошибка при отрытии первого файла!" << std::endl;

std::ifstream in2 ("file2");
if (in2)
{
std::cout << "Второй файл: " << std::endl;
std::for_each (Itr (in2), Itr (), std::bind1st (std::mem_fun (&std::ofstream::put), &std::cout));
std::cout << std::endl << std::endl;
}
else std::cout << "Ошибка при отрытии второго файла!" << std::endl;

if (in1 && in2)
{
in1.seekg (0);
in2.seekg (0);
if (std::equal (Itr (in1), Itr (), Itr (in2))) std::cout << "Содержимое файлов совпадает" << std::endl;
else std::cout << "Содержание файлов различно" << std::endl;
}
return 0;
}
 
1.
C++:
#include <iostream>
#include <algorithm>
#include <fstream>

int main ()
{
std::ofstream in ("file1", std::ios::out | std::ios::trunc);
if (in)
{
unsigned n_rows;
std::cout << "Введте кол-во строк: ", std::cin >> n_rows;	
for (unsigned i = 1; i <= n_rows; ++i)
{
for (unsigned ii = 1; ii <= i; ++ii) in << ii << " ";
in << std::endl;
}
}
else std::cout << "Ошибка при отрытии файла!" << std::endl;	
return 0;
}
 
спасибо! только тут так все сложно....я никак не разберусь....вот например это что #include <algorithm> - я такого вообще не знаю)))
 
Стандартные алгоритмы C++ :)
 
спасибо :)
но мне надо эти задачи попроще решить, нельзя использовать #include <algorithm>, #include <iterator>(т.к. мы их не изучали)
но все равно большое спасибо за помощь))))
 
А, кстати, в задаче 1 можно убрать #include <algorithm> ! У меня он туда случайно затесался, так что там всё что вы проходили.
 
да, спасибо! я там убрала эту библиотеку и все эти std::, а то из-за них ошибки)))
 
Ошибки из-за std:: ??? Очень странно...
 
ну да. они там вообще для чего?
сижу, который день разбираю код)))))
 
Если ты убрала "std::", то скорее всего поставила ".h" в конце имен включаемых файлов. Ошибки появились после того, как ты стала редактировать код.
 
нет, ошибки были сразу. смысл мне трогать код если бы он работал)))
 
Тут таких гостей хватает, которым дают рабочий код а они его исправляют и говорят что он не работает.
Напиши какие были ошибки.
 
да я это все понимаю.там 11 ошибок выходит,может просто это потому что код написан на Visual Studio, а у меня Borland C++ 3.1.
В общем не суть! все равно первую задачу я исправила и все работает, а вот вторая - нет((
 
Ну понятно, Borland C++ 3.1 это же динозавр, там много чего не соответствует нынешним реалиям ;)
 
)))))))))
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab