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

Сумма 3 чисел с файла, не могу понять - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти площадь шестиугольника http://www.cyberforum.ru/cpp-beginners/thread668838.html
Есть задача: Найти площадь шестиугольника, стороны которого равны a, b, c, d, е, f и диагонали, которые разбивают шестиугольник на четыре треугольника, равны 4, 4.5, 6. И у меня такой вопрос, как сделать так чтобы вывело или S или "Введенные неверные стороны", а не -1. # IND? Вот сама программа: #include <iostream> #include <math.h> #include <conio.h> using namespace std; float...
C++ Нахождение слова в строке в 1 файле и копирование строки в другой файл Задача: Ввести в файл INPUT.DAT инфу о людях. Затем найти по фамилии этого человека и скопировать все информацию в файл OUTPUT.DAT Ошибка заключается в функции output_file_man_yo, программа копирует только строку с первой фамилией, а на последующие введенные не реагирует. Пожалуйста укажите на ошибку. #include<iostream.h> #include<conio.h> #include<string.h> #include<fstream.h>... http://www.cyberforum.ru/cpp-beginners/thread668832.html
Длина строки в векторе C++
Здравствуйте! Как узнать длину строки в векторе? vector<string> v; v.push_back("a"); v.push_back("aa"); v.push_back("aaa"); vector<string>::iterator i; for(i = v.begin(); i != v.end(); ++i)
C++ принцип подстановки
надо описать 3 объекта используя принци подстановки, код я написал, но компилятор ругается, помогите найти ошибку. #include <iostream> using namespace std; class A { public: A() {a = 0; cout « "A a =" « a « endl;} virtual ~A() { cout « "~A" « endl;} virtual int Ma() {return a;}
C++ Ошибки при попытке прочитать в указанном месте http://www.cyberforum.ru/cpp-beginners/thread668793.html
#include <iostream> #include <iomanip> #include <locale> using namespace std; struct stack { char c; struct stack *next; };
C++ 15. В файле записаны числа. Создать новый файл, содержащий длины всех убывающих последовательностей #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int main() { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); подробнее

Показать сообщение отдельно
maSt
5 / 5 / 1
Регистрация: 28.02.2010
Сообщений: 166

Сумма 3 чисел с файла, не могу понять - C++

11.10.2012, 21:30. Просмотров 441. Ответов 2
Метки (Все метки)

недавно уже писал об этой проблеме , спасибо всем кто помог. Но мне все равно интересно почему все работает не так как я задумал.
У нас есть файл
C++
1
2
3
4
5
6
7
3
403.94 324.78 126.09 557.93 257.52 409.61 191.39 235.86 879.98 199.36 924.13 266.84 895.51 783.41 0.00
X F T Z L W H E U R T I J D 
838.21 175.43 817.30 162.98 0.00
O V T V 
34.63 347.63 522.50 337.02 614.48 0.00
U Z L C S
первая строка - количество пар строк с информацией.
Нам нужно найти максимальную сумму 3 последовательно стоящих чисел и вывести буквы соответствующие этим числам.
То есть во второй строке 924.13 ,266.84, 895.51 , то есть 11, 12 и 13 число.
И соответствующие им буквы T I J.
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
#include <iostream>;
#include <stdio.h>
#include <fstream>;
#include <string>
using namespace std;
 
int main()
{
    float a=0,b=0,c=0,d=0,g,t=0,i=0,h=0,j=0;
    char p,x,z;
    ifstream f("input.txt");
    ofstream n("output.txt");
    int v;
    f >> v;
    for (int i = 0; i!=v;i++) 
    {
            f >> a ;
            f >> b;
            f >> c;
            do
            {
                g = a + b + c;
                a = b;
                b = c; 
                f >> d;
                c = d;
                j++;
                if (g > h)
                {
                    h = g;
                }
            }
            while (d != 0.00);
                
            for (int i =0 ; i!=j-1; i++)
                {
                    f >> p;
                }
                f >> x >> z ;
                n << p << " " << x << " " << z << "\n"; 
    }
}
программа работает правильно. То есть на первую строку выдает T I J.
Но сколько не ломаю голову не могу понять почему оно не идет дальше по файлу, а опять начинает обрабатывать 2 и 3 строку.
То есть в output я получаю
T I J
T I J
T I J
почему именно так? почему оно не идет дальше?

Добавлено через 3 часа 9 минут
up сообщение
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru