Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
2 / 2 / 0
Регистрация: 05.11.2013
Сообщений: 126
1

Циклы с параметром, постусловием и предусловием

14.03.2016, 19:11. Показов 5564. Ответов 27
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даётся последовательность чисел 7,9,11,13,14,15,16,17 ... Последовательность заканчиваеться когда их среднее значение станет >=80. И нужно вывести конечное число этой последовательности. Если брать циклы, for, while, do while. то как вывесли именно последнее число и как написать генератор чисел от 7 до >=80?

Добавлено через 12 минут
простите последовательность нечётных чисел 7,9,11,13,15,17,19...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2016, 19:11
Ответы с готовыми решениями:

Циклы с предусловием и с постусловием (while, do.while)
6. Вводится точность e. Вычислить сумму ряда Вычисления продолжать до тех пор, пока очередное...

Вывести таблицу значений функции используя цикл с параметром, постусловием, предусловием
Вычислить N значений функции y=f(x), используя цикл с параметром, постусловием, предусловием. Вид...

Цикл: Вычисление значения с использованием операторов цикла с параметром, с предусловием, с постусловием
Разработать консольную программу в C++, для нахождения значения Y, с использованием операторов...

Вычислить значение суммы ряда, используя операторы цикла с предусловием, постусловием и параметром
Задание: Вычислить значение суммы ряда, используя операторы цикла с предусловием, постусловием и...

27
11 / 15 / 8
Регистрация: 12.10.2011
Сообщений: 802
14.03.2016, 19:15 2
Не совсем понятно что Вы хотите но примерно так например:
C++
1
2
3
4
5
int a;
while(a < 80)
{
вычисления....
};
1
2 / 2 / 0
Регистрация: 05.11.2013
Сообщений: 126
14.03.2016, 19:22  [ТС] 3
И нужно вывести конечное число этой последовательности. Последовательность продолжается до тех пор пока сумма всей последовательности и делённое на количество чисел в этой последовательности будет >или = 80. как генератор последовательности сделать?
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
14.03.2016, 19:29 4
Цитата Сообщение от GreenBlaze Посмотреть сообщение
последнее число и как написать генератор чисел от 7 до >=80?
C++
1
2
3
4
5
 int a=7;
    for (int i=0;i<80;i++){
        a+=2;
        cout<<a<<" ";}
    cout<<endl<<"последнее число: "<<a;
1
2 / 2 / 0
Регистрация: 05.11.2013
Сообщений: 126
14.03.2016, 19:34  [ТС] 5
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
#include "stdafx.h"
#include <iostream>
#include <iomanip>
int a=7;
int main()
{
    for (int i = 0; i<80; i++)
    a += 2;
    cout << a << " ";
    cout << endl << "последнее число: " << a;
    system("pause");
}
так?
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
14.03.2016, 19:39 6
GreenBlaze, это только цикл... 7,9,11,13,14,15,16,17 ...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main()
 
{
    int a=7;
    for (int i = 0; i<80; i++)
    a += 2;
    cout << a << " ";
    cout << endl << "последнее число: " << a;
    system("pause");
    return 0;
}
1
2 / 2 / 0
Регистрация: 05.11.2013
Сообщений: 126
14.03.2016, 19:42  [ТС] 7
а почему выводиться число 167 разве ограничение не 80? и как из этого цика результат перенести во второй который будет считать среднее значение до >=80?
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
14.03.2016, 19:45 8
GreenBlaze,
Цитата Сообщение от GreenBlaze Посмотреть сообщение
а почему выводиться число 167 разве ограничение не 80?
Цитата Сообщение от GreenBlaze Посмотреть сообщение
Последовательность заканчиваеться когда их среднее значение станет >=80.
1
2 / 2 / 0
Регистрация: 05.11.2013
Сообщений: 126
14.03.2016, 19:52  [ТС] 9
формула среднего значения (a1+a2+a3+a4...an)/n=80 , где n количество цифр в последовательности, a a1,a2,a3.. это 7,9,11... an последнее число последовательности(его мне нужно найти!). Так вот. как мне это сделать?
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
14.03.2016, 20:02 10
Лучший ответ Сообщение было отмечено GreenBlaze как решение

Решение

GreenBlaze, Если правильно понял вас
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    const int SZ=80;
    int a=5,cnt=1;
    for (int i=0;i<SZ-1;i++){
        if (cnt<SZ)
        a+=2;
        cnt++;
        cout<<a<<" ";}
 
    cout<<endl<<"Чисел: "<<cnt<<" последнее число: "<<a;
    system("pause");
    return 0;
}
1
2 / 2 / 0
Регистрация: 05.11.2013
Сообщений: 126
14.03.2016, 20:12  [ТС] 11
ох кажется так. Большое спасибо а в чём будет отличие других циклов while и do while ? хотя если проверить через эксел то последовательность из 80 чисел закончиться на 165! а программа говорит что на 163.
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
14.03.2016, 20:17 12
Лучший ответ Сообщение было отмечено GreenBlaze как решение

Решение

GreenBlaze, Все правильно?Вам так надо было? Идиотское какое-то задание Лучше вот этот код тогда...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    const int SZ=100;
    int a=5,cnt=1;
    for (int i=0;i<SZ-1;i++){
        if (cnt<80){
        a+=2;
        cnt++;
        cout<<a<<" ";}
        else 
        break;}
 
    cout<<endl<<"Чисел: "<<cnt<<" последнее число: "<<a;
    system("pause");
    return 0;
}
Добавлено через 2 минуты
GreenBlaze, Просто разные циклы и все... Вот через
C++
1
 while
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int a=5,cnt=1;
    while (cnt<80){
        a+=2;
        cnt++;
        cout<<a<<" ";}
        
    cout<<endl<<"Чисел: "<<cnt<<" последнее число: "<<a;
    system("pause");
    return 0;
}
Добавлено через 48 секунд
C++
1
do while
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int a=5,cnt=1;
    do {
        a+=2;
        cnt++;
        cout<<a<<" ";}
    while(cnt<80);
        
    cout<<endl<<"Чисел: "<<cnt<<" последнее число: "<<a;
    system("pause");
    return 0;
}
1
2 / 2 / 0
Регистрация: 05.11.2013
Сообщений: 126
14.03.2016, 20:20  [ТС] 13
Оооо да! вы лучше всех. я всю голову сломал пока принцип понял.
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
14.03.2016, 20:22 14
Лучший ответ Сообщение было отмечено GreenBlaze как решение

Решение

Цитата Сообщение от GreenBlaze Посмотреть сообщение
80 чисел закончиться на 165! а программа говорит что на 163.
Поправте cnt, будет 165) Я не стал считать первое число просто...
C++
1
int a=5,cnt=0;
1
2 / 2 / 0
Регистрация: 05.11.2013
Сообщений: 126
14.03.2016, 20:26  [ТС] 15
ок. вот только я так понял это вывод просто послеодовательности из 80 цифр. их среднее значение здесь не находиться
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
14.03.2016, 20:30 16
GreenBlaze,
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
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    const int SZ=100;
    int a=5,cnt=0;
    double sum;
 
    for (int i=0;i<SZ-1;i++){
        if (cnt<80){
        a+=2;
        cnt++;
        cout<<a<<" ";}
        else 
        break;}
 
    sum=a/cnt;
 
    cout<<endl<<"Чисел: "<<cnt<<" последнее число: "<<a;
    cout<<endl<<"Среднее значение равно: "<<sum;
    cout<<endl;
 
    system("pause");
    return 0;
}
1
2 / 2 / 0
Регистрация: 05.11.2013
Сообщений: 126
14.03.2016, 20:38  [ТС] 17
ну если так то. смотрите среднее программа выводит 2 быть такого не может. так если делать совсем правильно то должно так последовательность чисел не должна быть фиксированая. Так вот как только среднее значение будет 80 или больше 80. числа должны перестать генерироваться и программа должна вывести последнее число!
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
14.03.2016, 20:44 18
GreenBlaze, Я не могу понять задание... Что бы вывелось среднее 80, тогда конечное число должно быть 6400?
1
2 / 2 / 0
Регистрация: 05.11.2013
Сообщений: 126
14.03.2016, 20:51  [ТС] 19
вот то то и оно что я не.. ну смотрите если так скаже (a1+a2)/делим на колличество если равно меньше то программа считает дальше. (a1+a2+a3)/3 меньше 80 дальше (a1+a2+a3+a4)/4 меньше 80 дальше. (a1+a2+a3+a4+a5)/5 дальше и до тех пор пока. (a1+a2+a3+....an)/ на колличество будет = 80 или юольше то всё программа останавливаеться и выводиться an.
0
70 / 70 / 52
Регистрация: 24.01.2013
Сообщений: 198
14.03.2016, 21:09 20
Что-то ответы выше - это просто вывод последовательности, не ?
Как я понял из условия - нужно именно собирать числа 7, 9, 11, .... (через 2), пока их сумма / количество < ср.арифметического , т.е. нам нужно делать
7+9+11+13.....+n до того, пока их сумма деленная на n не превысит 80.
А это нифига не число 165.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
using namespace std;
 
int main(){
int sum = 0, crt = 0, cnt2 = 1;
for (int i = 7; crt < 80; i++) {
    sum += i;
    crt = sum / cnt2;
    cout << i << ' ';
    i++; cnt2++;
}
cout << "\n\nnumbers: " << cnt2 << "\ncrt = " << crt << "\nsum = " << sum;
    return 0;
}
1
14.03.2016, 21:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2016, 21:09
Помогаю со студенческими работами здесь

Циклы с предусловием и с постусловием: получить наибольшее целое k, при котором 4k<N
Дано натуральное число N. Получить наибольшее целое k, при котором 4k&lt;N. Функцию для возведения в...

Составить три программы, используя циклы с параметром, с предусловием и постусловием:
Составить три программы, используя циклы с параметром, с предусловием и постусловием: Отрезок ...

Вычислите значение выражения, используя циклы с параметром, предусловием, постусловием
Вычислите значение выражения, используя циклы с параметром, предусловием, постусловием:

Вычислите таблицу значений функции (циклы с предусловием, постусловием и параметром)
Вычислите таблицу значений функции используя операторы цикла с предусловием, постусловием и...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru