Реклама на forum.workoffice.ru
Программатор чипов CrumProg by GenaAlfa

Автор Тема: Нужна помошь в программировании  (Прочитано 12010 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Пинок_Под_Зад

  • Advanced Member
  • *****
  • Сообщений: 2122
  • Репутация: +83/-10
    • ICQ клиент - 415083065
    • Просмотр профиля
Re: Нужна помошь в программировании
« Ответ #8 : 21 Января, 2014, 05:49:38 »
Помощь коллеге в образовании - конечно, хорошо; но как боком это относится к разделу "Ремонт компьютеров"??


в обьяснении к разделу написано "пока в одном разделе все что связано с компами: ремонт, апгрейд, драйвера, ПО и т.д."

пусть в меня первым бросит камень тот кто считает что программирование не относится к компьютерной тематике!


Может раздел создать по программированию

потдерживаю!


Raben, asdf,  по первой задаче у меня мысли есть...на днях отпишу...потому что подобную мы уже решали, различия минимальны ... вторую отправил на почту знакомому программисту, так что ожидаю от него ответ ... по третей решение привел но препод еще не подтвердил правильность...ргр к  среде обещали мне сделать...по первой и второй задаче сообщу, я думаю теперь многим интересно решение )))
Разочарование от плохого качества длится гораздо дольше чем радость от низкой цены...

Ярек Лама

  • Advanced Member
  • *****
  • Сообщений: 5678
  • Репутация:+456/-0
Неважно, что ты делаешь, лишь бы переделывать никому не пришлось.

Raben

  • Member
  • ***
  • Сообщений: 280
  • Репутация: +7/-0
    • Просмотр профиля
    • E-mail
Re: Нужна помошь в программировании
« Ответ #9 : 21 Января, 2014, 09:19:09 »
Сумма n-первых членов ряда=Ln(n)+0,5772...(Гамма- постоянная Элера)+ ε погрешность
 s_n приближенно равно= \ln + \gamma
опередил:)

самый простой алгоритм тут с водится к перебору n от 1 с шагом  1, пока Lg(n) + gamma не превысит заданного числа.
но тут есть небольшое ограничение по величине заданного числа. в одном из примеров нашел, что для получения суммы равной 100, нужна сумма 10 в 43 степени членов ряда. Пока современная архитектура ПК не позволяет оперировать такими числами без дополнительных примочек:)

по второй задаче, тоже должны быть формулы быстрого счета, но надо знать, что там за числовой ряд, я его не опознал.

Raben

  • Member
  • ***
  • Сообщений: 280
  • Репутация: +7/-0
    • Просмотр профиля
    • E-mail
Re: Нужна помошь в программировании
« Ответ #10 : 21 Января, 2014, 09:26:20 »
единственное предположение что это ряд

y = 1 - x + x^3 / 3! - x^5 / 5! + … + (-1)^n * x ^(2n-1) / (2n-1)!

не помню как называется, надо ряды глянуть с формулами.

Пинок_Под_Зад

  • Advanced Member
  • *****
  • Сообщений: 2122
  • Репутация: +83/-10
    • ICQ клиент - 415083065
    • Просмотр профиля
Re: Нужна помошь в программировании
« Ответ #11 : 21 Января, 2014, 15:41:56 »
Raben,   да ты правильно степени раставил...
Разочарование от плохого качества длится гораздо дольше чем радость от низкой цены...

Пинок_Под_Зад

  • Advanced Member
  • *****
  • Сообщений: 2122
  • Репутация: +83/-10
    • ICQ клиент - 415083065
    • Просмотр профиля
Re: Нужна помошь в программировании
« Ответ #12 : 21 Января, 2014, 15:48:39 »
ссылка на скрин с заданиями http://zalil.ru/34926524
Разочарование от плохого качества длится гораздо дольше чем радость от низкой цены...

takoy

  • Гость
Re: Нужна помошь в программировании
« Ответ #13 : 21 Января, 2014, 21:59:09 »
Ну вторая задача - проще некуда:
#include <iostream>
#include <math.h>

using namespace std;

double fact(int f)
{
double res;

res = 1;
for(int i = 1; i <= f; i++)
res *= i;
return res;
}

int main() {
int x, n;
double y;

cout << "Введите x: "; cin >> x; cout << endl;
cout << "Введите n: "; cin >> n; cout << endl;

y = 1;
for(int i = 1; i <= n; i++)
y += pow(-1, i) * pow(x, 2*i-1) / fact(2*i-1);

cout << "y = " << y << endl;

return 0;
}

А первую честно говоря не понял - формула Эйлера насколько я помню это преобразование между тригонометрической и показательной формами комплексного числа (википедия тоже говорит) причем здесь эти ряды не понятно...

Пинок_Под_Зад

  • Advanced Member
  • *****
  • Сообщений: 2122
  • Репутация: +83/-10
    • ICQ клиент - 415083065
    • Просмотр профиля
Re: Нужна помошь в программировании
« Ответ #14 : 22 Января, 2014, 04:55:01 »
takoy, от спасибо!пока бегло прошел, руский язык пишешь а библиотеку не подключил...ну это мелочи...огромное спасибо! А по первой задаче, судя по тому что обьяснял препод, то получается следующая картина- прога запрашивает число, я его указываю , и прога складывает 1/1 1/2 1/3 1/4 и т д(в зависимости от того какое число я указал ) и вв итоге должно выдать цифру сколько раз она сложила эти дроби что бы получить число что я указал в начале...как то так примерно...я черканул,но 100 процентов неправильно...потому что когда он обьяснял я с ним обсуждал это и вбивал в комп,а в тетрадь как оказалось не записал...теперь вот что мог по памяти восстановил, но хоть и не правильнь думаю препод оценит старания
Разочарование от плохого качества длится гораздо дольше чем радость от низкой цены...

Raben

  • Member
  • ***
  • Сообщений: 280
  • Репутация: +7/-0
    • Просмотр профиля
    • E-mail
Re: Нужна помошь в программировании
« Ответ #15 : 22 Января, 2014, 08:21:23 »
По первой у меня что-то вреде этого получилось:

const float f=0,5772; 'константа Эйлера, думаю точности до 4-го знака после запятой хватит.

int main()
  {

int n, s; 'n - число слагаемых, оно же счетчик в цикле, s - заданное число
float y; 'y - сумма слагаемых

cout << "Введите число: "; cin >> s; cout << endl;

n = 0;
do 'цикл, перебор n от 1 до нужного чила слагаемых
  {

n++;
y = log(n) + f;

  }
while (y > n);

cout << "n = " << n << endl;

return 0;

  }

за точность листинга не ручаюсь, проверять негде (в блокнотике накатал), я на С только в университете писал, но приходится часто с явой работать, а он листинг С процентов на 90 копирует.