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

Программирование циклов с неизвестным заранее числом повторений - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
qwerty321
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 12
25.10.2012, 19:38     Программирование циклов с неизвестным заранее числом повторений #1
Лабораторная работа №3
Программирование циклов с неизвестным заранее числом повторений
Цель работы: освоение средств языка C++ для описания итерационных циклов и закрепление навыков использования их при программировании.
Пример программы с использованием оператора цикла с предусловием:
Схема программы к данному примеру:

Пример программы с использованием оператора цикла с постусловием:
Схема программы к данному примеру:

Лабораторное задание
1. Выбрать задание, соответствующее номеру варианта.
2. Составить схему программы и разработать программу для вычисления указанной функции разложением ее в ряд для заданных аргументов с точностью с использованием оператора цикла с предусловием.
3. Составить схему программы и разработать программу для вычисления указанной функции разложением ее в ряд для заданных аргументов с точностью с использованием оператора цикла с постусловием.
5. Выполнить программы на ЭВМ.
6. Оформить отчет.


Помогите с программой, ума не приложу что с делать.
Миниатюры
Программирование циклов с неизвестным заранее числом повторений  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2012, 19:38     Программирование циклов с неизвестным заранее числом повторений
Посмотрите здесь:

Программирование циклов с неизвестным заранее числом повторений C++
C++ Программирование циклов с неизвестным заранее числом повторений
операторы условия, циклы с известным и неизвестным числом повторений C++
Массив с неизвестным заранее количеством элементов C++
C++ Циклы с заданным числом повторений
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
qwerty321
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 12
11.12.2012, 22:46  [ТС]     Программирование циклов с неизвестным заранее числом повторений #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
29
30
31
32
33
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void main()
{
    double  s, n, m, b, a, c, nm;
cout << "Vvedi a ";
cin >> a;
 
cout << "Vvedi b ";
cin >> b;
if  ((b/a^3>1)||( b/a^3<-1)) 
{
 cout<<"net sxodimosti";
}
 
cout << "Vvedi n(max)>0";
cin >> nm;
n = 1;
m = 1+(1/3)*(b/a^3)^n;
while(n>nm)
{
  n++
   m = m+s*(1/3)*(b/a^3)^n;
}
m*a = c
cout << " " << c << endl;
 
getch();
 
return 0;
 
}
и что нужно поменять что бы написать ее с постусловием?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
11.12.2012, 22:49     Программирование циклов с неизвестным заранее числом повторений #3
цикл с постусловием - do { } while (условие);
a^3 != a*a*a. Для возведения a в 3 степень используйте pow(a, 3);
qwerty321
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 12
12.12.2012, 23:26  [ТС]     Программирование циклов с неизвестным заранее числом повторений #4
ошибки так же остаются

Добавлено через 4 часа 12 минут
up...
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
13.12.2012, 00:15     Программирование циклов с неизвестным заранее числом повторений #5
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
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
void main()
{
    double  s, n, m, b, a, c, nm;
cout << "Vvedi a ";
cin >> a;
 
cout << "Vvedi b ";
cin >> b;
 
if  ((int (b/a)^3>1)||(int (b/a)^3<-1)) 
{
 cout<<"net sxodimosti";
}
 
cout << "Vvedi n(max)>0";
cin >> nm;
n = 1;
m = 1+(1/3)*(int (b/a)^3)^n;
while(n>nm)
{
   m = int (m+s)*(1/3)*(int (b/a)^3)^int (n);
   n++;
}
 
c = m*a;
cout << " " << c << endl;
 
getch();
 
}
что успел изменить - изменил,после футбола посмотрю дальше,очень много ошибок,проще всё переписать)))
activnaya
 Аватар для activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
13.12.2012, 00:20     Программирование циклов с неизвестным заранее числом повторений #6
Цитата Сообщение от MrGluck Посмотреть сообщение
a^3 != a*a*a
??? КО
Raper58
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 31
13.12.2012, 00:56     Программирование циклов с неизвестным заранее числом повторений #7
вроде правильно.
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
   #include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
void main()
{
    double  s, n, m, b, a, c, x, y, nm;
cout <<"Vvedi a ";
cin >> a;
cout << "Vvedi b ";
cin >> b;
if ((b/(pow(a,3))>1)||(b/(pow(a,3))<-1))
{
 cout<<"net sxodimosti";
}
 
cout << "Vvedi n(max)>0 ";
cin >> nm;
n = 1;
x = b/(pow(a,3));
m = 1+(1/3)*(pow(x,n));
while(nm>n)
{
  n++ ;
  s+=3;
    m=(m+(s*1/s*3))*(pow(x,n));
}
c=m*a;
cout <<"c= "<<c;
 
getch();
 
}
Добавлено через 16 минут
с постусловием. проверяй.
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
   #include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
void main()
{
    double  s, n, m, b, a, c, x, y, nm;
cout <<"Vvedi a ";
cin >> a;
cout << "Vvedi b ";
cin >> b;
if ((b/(pow(a,3))>1)||(b/(pow(a,3))<-1))
{
 cout<<"net sxodimosti";
}
 
cout << "Vvedi n(max)>0 ";
cin >> nm;
n = 0;
x = b/(pow(a,3));
m = 1+(1/3)*(pow(x,n));
do
{
  n++ ;
  s+=3;
    m=(m+(s*2/s*3))*(pow(x,n));
}
  while(nm>n);
c=m*a;
cout <<"c= "<<c;
 
getch();
 
}
qwerty321
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 12
13.12.2012, 16:59  [ТС]     Программирование циклов с неизвестным заранее числом повторений #8
ошибки все равно остаются, причем глупые, но я дурак не могу исправить, только учусь
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
13.12.2012, 17:09     Программирование циклов с неизвестным заранее числом повторений #9
qwerty321, я уже писал вам про void main.

s = 0.0, вы работает с неинициализированной переменной, прибавляете значения к мусору.
student888
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 21
13.12.2012, 22:25     Программирование циклов с неизвестным заранее числом повторений #10
вот переделал более простым способом, но тут теперь еще в 19 строке вот такая ошибка (statement missing), как исправить не знаю. подскажите.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
double  a, b, eps;
clrscr ();
cout<<"Vvedite znachenie argumenta i tochnosti \n";
cin>>a>>b>>eps;
double x=b/(pow(a,3)), y=x/3, F=a*(1+y);
int n=1;
while (fabs(y)>=eps)
{
y*=-x*n/(n+3);
F+=a*y;
n+=3;
}
cout<<"Priblighennoe znachenie="<<F;
cout<<"Tochnoe znachenie="sprt(pow(a,3)+b));
}
Добавлено через 15 минут
все сделал.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
double  a, b, eps, k=0;
clrscr ();
cout<<"Vvedite znachenie argumenta i tochnosti \n";
cin>>a>>b>>eps;
double x=b/(pow(a,3)), y=x/3, F=a*(1+y);
int n=1;
while (fabs(y)>=eps)
{
y*=-x*n/(n+3);
F+=a*y;
n+=3;
k=pow(a,3)+b;
}
cout<<"Priblighennoe znachenie="<<F;
cout<<"Tochnoe znachenie="<<pow(k,1/3);
}
Добавлено через 21 минуту
блин, она считает неправильно, что то не так((

Добавлено через 6 минут
подскажите где исправить нужно..

Добавлено через 46 минут
подскажите, программа неправильно считает точное значение
student888
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 21
15.12.2012, 22:32     Программирование циклов с неизвестным заранее числом повторений #11
ребятушки, подскажите где ошибка
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
15.12.2012, 22:37     Программирование циклов с неизвестным заранее числом повторений #12
Пробуй так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
double  a, b, eps, k=0.0;
clrscr ();
cout<<"Vvedite znachenie argumenta i tochnosti \n";
cin>>a>>b>>eps;
double x=(double)b/(pow(a,3));
double y=x/3.0, F=a*(1.0+y);
int n=1;
while (fabs(y)>=eps)
{
y*=-x*n/(n+3.0);
F+=a*y;
n+=3.0;
k=pow(a,3)+(double)b;
}
cout<<"Priblighennoe znachenie="<<F;
cout<<"Tochnoe znachenie="<<pow(k,1.0/3);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 00:23     Программирование циклов с неизвестным заранее числом повторений
Еще ссылки по теме:

Циклы с неизвестным числом повторений C++
C++ Вводится массив строк текста с неизвестным заранее количеством строк
C++ Как написать программу с неизвестным числом вводимым с клавиатуры

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

Или воспользуйтесь поиском по форуму:
student888
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 21
16.12.2012, 00:23     Программирование циклов с неизвестным заранее числом повторений #13
огромное спасибо!
Yandex
Объявления
16.12.2012, 00:23     Программирование циклов с неизвестным заранее числом повторений
Ответ Создать тему
Опции темы

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