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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
shchurkoroman
2 / 2 / 0
Регистрация: 27.03.2012
Сообщений: 13
#1

Чтение файла ТХТ С++ - C++

23.04.2012, 16:12. Просмотров 725. Ответов 4
Метки нет (Все метки)

Здравствуйте у меня есть проблема с чтением файла

файл input.txt
нужно считывать так по группам если в первой строке есть у меня 2 то нужно считать две следующие строки далее 3 значит нужно после 3-ох следующие три строки и так пока не будет 0. числа 3 4 и 4 4 это размеры листов бляхи в файл output.txt нужно записать суму их площади то есть в первом будет 28 а другом наборе будет 17.

2
3 4
4 4
3
3 2
2 1
3 3
0

Это мой код который я начал писать он считывает весь файл

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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
int i,j,height,width;
    
char str_file[100];
FILE *in, *out;
in=fopen("input.txt","r");
out=fopen("output.txt","w");
 
if(in != NULL)
{
      
int i=0;
char ch;
while((ch = getc(in)) != EOF)
str_file[i++]=ch;
str_file[i] = '\0';
printf(str_file);
 
}
else printf("Error!.\n");
fclose(in);
system("PAUSE");
return EXIT_SUCCESS;
}
помогите переделать так что бы считывать этот файл по группам и вычислить суму площади этих листов бляхи.
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2012, 16:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение файла ТХТ С++ (C++):

Чтение и Запись в файл тхт - C++
Привет народ. Вот я научился сохранять и открывать файлы через Опен и Сейв диалог. Но вот как например мне сохранить строку типа чар в...

Записать числа из ТХТ файла в массив - C++
Добрый день. такая проблема. есть файл ТХТ в котором записаны два столбца значвений в виде 1.9316500000 0.153104081 ...

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

Выводит из файла.тхт последние данные два раза - C++
product(std::ifstream&amp; fin) { fin&gt;&gt;Name; fin&gt;&gt;Belok; fin&gt;&gt;Gur; fin&gt;&gt;Yglevod; fin&gt;&gt;Kkal; ...

Переделать в коде чтение из файла в чтение с клавиатуры - C++
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл должен начинаться со слова, между...

Чтение из файла. Повторное чтение файла - C++
Добрый день. Необходимо реализовать в программе функцию повторного чтения данных из файла, в случае некорректного ввода их в оный. Вот...

4
MrGluck
Модератор
Эксперт CЭксперт С++
7279 / 4440 / 650
Регистрация: 29.11.2010
Сообщений: 12,022
23.04.2012, 17:22 #2
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
#include <iostream>
#include <fstream>
 
int main()
{
    std::ifstream in("test.txt");
    if (!in)
    {
        std::cerr<< "There's no such file";
        return 1;
    }
    std::ofstream out("output.txt");
    int number, w, h, sum;
    while (!in.eof())
    {
        sum = 0;
        in>> number;
        if (number == 0) break;
        for (int i = 0; i < number; i++)
        {
            in>> w>> h;
            sum += w * h;
        }
        out<< sum<< " ";
    }
    out.close();
    return 0;
}
1
shchurkoroman
2 / 2 / 0
Регистрация: 27.03.2012
Сообщений: 13
23.04.2012, 20:37  [ТС] #3
Спасибо большое!!!

Добавлено через 1 час 37 минут
MrGluck,
Скажите а как переделать эту программу что бы вычислить минимальную площадь
у меня есть задание и никак не могу понять как решить эту проблему

Задание:
Написать программу, которая по размерам листов бляхи вычислит минимальную площадь которая нужна для размещение в магазине. Листы можно положить один на другой чтобы приспособиться можно поворачивать лист на 90 градусов вокруг центра.

Данные входные это файл input.txt
Сначала есть количество листов далее размер каждого листа конец считывания когда на конце есть 0
Максимальное количество листов 200. В файле должны находится только целые числа.
2
3 5
4 4
3
5 4
2 5
4 4
0
Результат записываться в файл output.txt
31
30
С этого примера видно что сначала у нас 2 листа один на другой положить не можем то идет сума их площади 3х5+4х4= 31
Далее 3 листа 5х4, 2х5,4х4 минимальная площадь это 30 так как 4х4 идет с верху на лист 5х4 и тогда полоща ровна 5х4 + 2х5=30

Добавлено через 1 час 24 минуты
Ребят очень нужна помощь помогите решить эту задачку
0
MrCold
855 / 753 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
23.04.2012, 21:37 #4
shchurkoroman, сидим с товарищем и гадаем, что такое листы бляхи ?
Это листы жести и ими нужно накрыть магазин ?

shchurkoroman, напиши понятно задание и тогда помогут .
0
shchurkoroman
2 / 2 / 0
Регистрация: 27.03.2012
Сообщений: 13
23.04.2012, 22:15  [ТС] #5
Простите за мой русский!
Задача
На складе хранятся прямоугольные листы жести разных размеров. Листы расположены горизонтально на полу. Для экономии поверхности, они накладываются друг на друга, но так, чтобы лист лежащий выше, в целом размере был размещен на листе, который находится под ним. Кладовщик заботится о том, чтобы соответствующие края листов жести были параллельными, а в середины листов создавали единую стопку, лежа на одной вертикали. Чтобы приспособиться к листу жести, который находится ниже можно поворачивать его на 90 градусов вокруг центра.
Задание:
Напишите программу, которая для данных листов жести обсчитает минимальную площадь пола, учитывая вышеназванные требования.
Входные данные:
Стандартный вход содержит несколько наборов данных. Первая строка содержит один набор, неотъемлемое целое n (n <= 200) которое указывает на количество листов в проблеме. Если он равен 0, это означает конец данных. В последующих строках n содержит два положительных целых числа, означающие размеры листов в наборе данных.
Выходные данные
Стандартный выход содержит следующие строки, в которых указывается одно число, которое означает минимальную площадь поверх пола, требующейся для размещения листов согласно требованиям склада.
Пример
Для входных данных:
2
3 5
4 4
3
5 4
2 5
4 4
0
Правильный ответ:
31
30

Спасибо за помощь!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2012, 22:15
Привет! Вот еще темы с ответами:

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...

Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется - C++
Формат файла состоит из 3 структур и одной переменной. Подробное описание формата во вложении, просьба посмотреть его. У меня возникла...

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...

Чтение файла с несколькими знаками конца файла - C++
В файле несколько раз встречается ноль, и ни как не получается прочитать его полностью. Как можно решить данную проблему ?


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
23.04.2012, 22:15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru