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

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

Войти
Регистрация
Восстановить пароль
 
shchurkoroman
2 / 2 / 0
Регистрация: 27.03.2012
Сообщений: 13
23.04.2012, 16:12     Чтение файла ТХТ С++ #1
Здравствуйте у меня есть проблема с чтением файла

файл 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;
}
помогите переделать так что бы считывать этот файл по группам и вычислить суму площади этих листов бляхи.
Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2012, 16:12     Чтение файла ТХТ С++
Посмотрите здесь:

Чтение и Запись в файл тхт C++
Чтение из файла C++
C++ Чтение из файла
C++ Считывание данных из файла.тхт в массив
C++ Записать числа из ТХТ файла в массив
Чтение из файла C++
чтение из файла C++
Чтение файла в 16-СС C++
C++ Чтение из файла
Чтение из файла C++
Выводит из файла.тхт последние данные два раза C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
5668 / 3147 / 357
Регистрация: 29.11.2010
Сообщений: 8,427
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;
}
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 минуты
Ребят очень нужна помощь помогите решить эту задачку
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
23.04.2012, 21:37     Чтение файла ТХТ С++ #4
shchurkoroman, сидим с товарищем и гадаем, что такое листы бляхи ?
Это листы жести и ими нужно накрыть магазин ?

shchurkoroman, напиши понятно задание и тогда помогут .
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

Спасибо за помощь!
Yandex
Объявления
23.04.2012, 22:15     Чтение файла ТХТ С++
Ответ Создать тему
Опции темы

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