Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
smoki
0 / 0 / 1
Регистрация: 14.06.2016
Сообщений: 16
#1

Как ввести переменную, которая включает ряд чисел? - C++

14.06.2016, 22:03. Просмотров 304. Ответов 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
#include "ttmath\ttmath.h"
#include <iostream>
#include <conio.h>
using namespace std;
using namespace ttmath;
 
typedef Big<4, 256> BigNum;
 
int main()
{
    BigNum n, B, K, res;
    string s;
cout << "vvdite n" << endl;
    cin >> n;
    cout << "vvdite B" << endl;
    cin >> B;
    cout << "vvdite K" << endl;
    cin >> K;
 
    res = Sqrt(n * n + B * n -1- K);
 
    res.ToString(s, 10, false, 2000, 5);
    cout << "Result: " << s << endl;
    system("pause>>null");
    return 0;
}
Все вроде работает. Но так как я учу "то тут, то там", то не понимаю как переделать решение если условие будет:

1) n должно задаваться в определенном интервале, например от 10001 до 100001 или опорядку или с определенным интервалом (скажем шаг в 100)
2)соответственно ответ должен выходить в виде списка ответов один за другим

я так понимаю надо ставить внутренний цикл for...(если я прав)
C++
1
2
3
4
5
6
BigNum n;//или тут int n - но ели это будет большое число? или до миллиона я могу использовать int? Но я уже задал выше как BigNum
 
for (n=1; n<=100; n++) {
  // расчет
  // вывод
}
то есть вроде логику улавливаю, но как практически это написать до конца не понимаю....

у меня на это то ушло почти 3 недели разобраться и как библиотеки подключать....может кто-то смышленый может мне помочь и показать как будет выглядеть код при измененном условии?

спасибо!
http://www.cyberforum.ru/cpp-beginners/thread2199199.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2016, 22:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как ввести переменную, которая включает ряд чисел? (C++):

Составить программу, которая позволяет ввести с клавиатуры шестнадцатеричное число и записать его в переменную a, выполнить требуемую проверку.
Составить программу, которая позволяет ввести с клавиатуры шестнадцатеричное...

Написать программу, которая предлагает пользователю ввести 10 чисел, вычисляет процент четных и нечетных чисел и выводит результат в консоль
Написать программу, которая предлагает пользователю ввести 10 чисел, вычисляет...

Ввести n чисел, определить сколько среди них превосходит первое число. Результат отправить в переменную k
Ввести n чисел. определить сколько, среди них превосходит первое...

Написать программу, которая суммирует ряд чисел от 1 до N
Написать программу, которая суммирует ряд чисел от 1 до N.

Как ввести текстовую переменную в С++ с клавиатуры
Я ввожу так char *str1 = &quot;la&quot;; Все отлично вводиться ! Но мне нужно ввести с...

7
lawr
372 / 266 / 478
Регистрация: 09.05.2014
Сообщений: 769
15.06.2016, 11:19 #2
вроде все работает а вроде и не работает. мой совет- начните с классики: Прата в качестве учебника, "Hello, World!" в качестве первой программы. по сути заданных вопросов: да, если считать в интервале с шагом и т.д.- нужен for. да, до миллиона можете использовать int, максимум по инту (2^32)/2=2 147 483 647. а вот res должен быть вещественного типа- float или doable. с подключением библиотек вы таки не разобрались- подключена библиотека conio.h, которая не используется и не подключены библиотеки, нужные в коде- cstdlib для использования system() и string для объявления строковой переменной (которая в рамках данной задачи и не нужна в общем-то). и не нужно всей этой сторонней ереси типа ttmath- все на отлично решается в рамках STL.
0
smoki
0 / 0 / 1
Регистрация: 14.06.2016
Сообщений: 16
15.06.2016, 20:33  [ТС] #3
Я не хочу быть пофи программистом. Мне С++ нужен выборочно для расчетов.
Я тут попробовал сделать простую версию расчета...примитивную:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main ()
{
    int n=1, B, K, res;
    
    cout << "vvdite B" << endl;
    cin >> B;
    cout << "vvdite K" << endl;
    cin >> K;
    cout << "res = n+B-K"<<endl;
 do
 {   
    res = n+B-K;
    cout << "Result: " << res << endl;
 }
 while (++n<=10);
 system("pause>>null");
 return 0;
 system("pause>>null");
}
возможно косо написано, но на маленьких числах вполне себе работает....
Попробовал "зазеркалить" на свою прогу под большие числа

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
#include "ttmath\ttmath.h"
#include <iostream>
#include <conio.h>
using namespace std;
using namespace ttmath;
 
typedef Big<4, 256> BigNum; // 4 * 32 bit - for exponent, 256 * 32 bit - for mantissa
 
int main()
{
    BigNum n=1, B, K, res;
    string s;
    
    cout << "vvdite B" << endl;
    cin >> B;
    cout << "vvdite K" << endl;
    cin >> K;
    cout << "Sqrt(n * n + B * n-1 - K)" << endl;
 
    do
    {
    res = Sqrt(n * n + B * n -1- K);
    res.ToString(s, 10, false, 2000, 5);
    cout << "Result: " << s << endl;
    }
    while (++n<=10);
    system("pause>>null");
    return 0;
    system("pause>>null");
 
}
все работает....даже с калькулятором проверял - работает!

Теперь осталось только понять как написать код, когда n задана в интервале, например, от 1 до 1000 и берется так 125,225,325, и так далее до 925.....

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

вот тут точно лопну думать! Добрые люди, хоть кто-то, помогите!
0
afront
1047 / 993 / 751
Регистрация: 29.02.2016
Сообщений: 3,185
15.06.2016, 21:38 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int _tmain(int argc, _TCHAR* argv[])
{
  int s1 = 100;
  for  (int i = 1; i < 10; i ++) 
  {    
     int s=s1*i+25;
      cout<<"\n" << i <<"  "<<s;
 
  }
    cout<<"\n";
    system("pause");
    return 0;
}
0
lawr
372 / 266 / 478
Регистрация: 09.05.2014
Сообщений: 769
15.06.2016, 21:40 #5
цикл do-while меняете на цикл for:
C++
1
2
3
4
5
6
    for (n=125; i<1000; i+=100)//125 нижняя граница интервала, 925 верхняя, 100- шаг.
    {
    res = Sqrt(n * n + B * n -1- K);
    res.ToString(s, 10, false, 2000, 5);
    cout << "Result: " << s << endl;
    }
ЗЫ- если нужно просто делать расчеты а калькулятор не помагает- поставьте себе матлаб и не изобретайте велосипед.
0
afront
1047 / 993 / 751
Регистрация: 29.02.2016
Сообщений: 3,185
15.06.2016, 21:55 #6
smoki, спрашивайте не стесняйтесь, матлаб конечно хорошо не все можно посчитать с его помощью))
0
afront
1047 / 993 / 751
Регистрация: 29.02.2016
Сообщений: 3,185
15.06.2016, 22:03 #7
проблемы со связью
0
smoki
0 / 0 / 1
Регистрация: 14.06.2016
Сообщений: 16
15.06.2016, 23:10  [ТС] #8
Спасибо огромное всем: lawr и afront! Завтра после работы попробую!
0
15.06.2016, 23:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2016, 23:10
Привет! Вот еще темы с решениями:

Как в переменную ввести определенные числа
например у меня есть переменна b int b; я ее объявил мне теперь нужно чтобы в...

Написать программу, которая предлагает пользователю ввести 10 чисел, вычисляет процент положительных и отрицательных чисел и процент нулей и выводи
помогите =) написать программу, которая предлагает пользователю ввести 10...

Как ввести текстовую переменную и осуществить её проверку?
Помогите пожалуйста, задача должна состоять в том чтобы logg = какому-то...

Как ввести свои данные в переменную key?
// lab_work_4.cpp: определяет точку входа для консольного приложения. //...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru