powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите никак не могу сделать задачу
2 сообщений из 2, страница 1 из 1
Помогите никак не могу сделать задачу
    #33456244
maik2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
/*Задача 2. Программа без главного окна.
Вычислить сумму указанного вида при условии, что в нее входят N слагаемых.
Параметры N и х ввести из текстового файла. Обеспечить проверку корректности
ввода данных из файла. Последнее слагаемое определите сами.
Z=sinx+(sin2x)/2+(sin3x)/3...

Полученный результат вывести в диалоговое окно MessageBox.*/
#include <sstream>
#include <fstream>
#include <windows.h>
#include <cmath>
using namespace std;

main()
{
SetConsoleOutputCP(1251);

ostringstream res;// создание выходного строкового потока
res<<"Результат:\n\nS=";// ввод в выходной строковый поток

int N; //главный параметр
double S1=1;//последнее слагаемое

//ввод целого положительного числа из файла
ifstream F("slog.txt"); //открытие файла
if (!F.is_open())//проверяем открыт ли файл
{
MessageBox(NULL, "Невозможно открыть файл", "Ошибка открытия файла", MB_ICONERROR|MB_OK);
return 0;//завершение программы
}
char buffer[15]="";
F>>buffer;
F.close();

N=atoi(buffer);
x=atoi(buffer);

if (N==1)
{
res<<1;
MessageBox(NULL, res.str().c_str(), "Результат", MB_ICONINFORMATION|MB_OK);
return 0;
}
else
{
int i=1; //счетчик цикла вычисления слагаемых
double S=0;//сумма членов ряда
double y=0;//текущий член ряда
double k=2;//числитель

while (i<=N)
{
y=sin(k*x)/k;
S=S+y;//вычислить сумму
i++;//увеличение счетчика
k++;//увеличение числителя
}
S=S+S1;
res<<S;
MessageBox(NULL, res.str().c_str(), "Результат", MB_ICONINFORMATION|MB_OK);
return 0;
}
}
...
Рейтинг: 0 / 0
Помогите никак не могу сделать задачу
    #33456262
Фотография Землекоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x не объявлена, да и для её ввода нужно еще раз прочитать из потока.
Кстати, x скорее всего должна быть с плавающе точкой.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
float x;
char buffer[ 15 ]={ 0 };
F>>buffer;
N=atoi(buffer);
F>>buffer;
x=atof(buffer);
F.close();
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите никак не могу сделать задачу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]