• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Нужна Помощь В Устранении Ошибок

  • Автор темы oper89
  • Дата начала
O

oper89

программа подгружает файл в котором несколько сотен строк с дробными числами,затем сравнивает попарно 2 и 1, 3 и 2 и т.д. значения строк. если 2 больше 1,то 1й счетчик "а" увеличивается на 1.при достижении а=2, значение 2 счетчика "b" увеличивается на 1,а значение "а" обнуляется.

при запуске ошибки конвертации string в double:

111/main.cpp|24|ошибка: cannot convert «std::string {aka std::basic_string<char>}» to «const char*» for argument «1» to «double atof(const char*)»|
111/main.cpp|28|ошибка: cannot convert «std::string {aka std::basic_string<char>}» to «const char*» for argument «1» to «double atof(const char*)»|


#include <string>
#include <fstream>
#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
string line; //Текущая строка из файла
int nLines = 1;//Думаю ясно что эта переменная будет хранить
ifstream ifs("input.txt");
if(!ifs.is_open()) {
cout<<"Ошибка открытия файла input.txt\n";
return 0;
}
cout << "Число строк : "<<nLines<<endl;
cout<<"Для продолжения работы программы нажмите любую клавишу...";
cin.get();
int i = 0;
int a = 0;
int b = 0;
double x1, x2;
getline(ifs, line);
x1 = atof (line);
while(getline(ifs,line))
{
nLines++;
x2 = atof(line);
if(x2 > x1){
a++;
} if(a==2){
b++;a = 0;
cout<<"Точка пика : "<<i<<endl;
}
x1 = x2;
}
ifs.close();
cout << "Число строк : "<<nLines<<endl;
cout << "Всего пиков: "<<b<<endl;
return 0;
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!