Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
bochik
1 / 1 / 0
Регистрация: 17.05.2013
Сообщений: 64
#1

Простые упражнения по С++ - C++

17.05.2013, 14:07. Просмотров 1001. Ответов 13
Метки нет (Все метки)

Здравствуйте. Тут (если можно) буду просить помощи...

Добавлено через 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
#include<iostream>
int main()
{
    int v1, v2;
    std::cin >>v1>> v2;
    int lower, upper;
    if (v1<=v2)
    {
        v1=lower;
        v2=upper;
    }
    else
    {
        v1=upper;
        v2=lower;
    }
    int sum;
    sum=0;
    while(lower<=upper)
    {
        sum+=lower;
        std::cout <<sum<< std::endl;
        ++lower;
        return 0;
    }
}
По идее, он должен выдавать все числа, которые есть между переменными.... Ошибок в коде нет, но программа их не показывает.... Объясните в чём ошибка, только словесно, чтоб код я мог сам переделать... Спасибо...

Добавлено через 16 минут
Смотрю, вот, и думаю, а на кой мне "sum"!... ффф...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2013, 14:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Простые упражнения по С++ (C++):

Упражнения по с++ - C++
Я не так давно начал изучать с++, но столкнулся с проблемой применения знаний. То есть я изучил тему, сделал 1-2 упражнения, которые дают...

Упражнения - C++
Всем добрый день! Недавно начал изучать С++. Прошел Несколько тем: Классы, управляющие операторы, немножко циклы. Есть ли на форуме такая...

Упражнения по C++ - C++
Люди добрые весь гугл обыскал но не нашел нормального задачника по с++ (имеется в виду задачи идут по уровню сложности от меьшего к...

Как научиться создавать на C++ простые приложения (очень простые игры)? - C++
Помогите, я хочу научится создавать какието для начала очень простые игры, приложения. но я вооще ничего не знаю :wall: не знаю с чего...

Упражнения на массивы - C++
#include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { setlocale(LC_ALL,...

Упражнения цикла for - C++
#include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { setlocale(LC_ALL,...

13
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
17.05.2013, 14:08 #2
bochik, присваивание не в ту сторону (10-16) и ретурн на первой итерации цикла.
0
bochik
1 / 1 / 0
Регистрация: 17.05.2013
Сообщений: 64
17.05.2013, 14:11  [ТС] #3
Простите, что парю вам тут мозги.... Теперь на return обратил внимание. Только когда его переставил, программа начала в бешеном темпе считать... Смотрю вот на неё и мысль: Во с какой скоростью машина может разговаривать)))
0
GTS
25 / 26 / 3
Регистрация: 02.04.2012
Сообщений: 293
17.05.2013, 14:13 #4
Какая то мутная у тебя программа, правильно ли я понимаю, что ты вводишь 2 переменные, например первая:2, вторая: 10, и программа должна показать все целые числа между ними, т.е. 3,4,5,6,7,8,9 ?
0
Maksig
4 / 4 / 0
Регистрация: 26.02.2013
Сообщений: 24
17.05.2013, 14:13 #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
# include <windows.h>
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main()
{
    int lower=0, upper=0;
    int v1, v2;
    std::cin >>v1>> v2;
   
    if (v1<=v2)
    {
        v1=lower;
        v2=upper;
    }
    else
    {
        v1=upper;
        v2=lower;
    }
   
    while(lower<=upper)
    {
        upper+=lower;
        std::cout <<upper << endl;
        ++lower;
 
    }
system("pause");
        return 0;
}
0
bochik
1 / 1 / 0
Регистрация: 17.05.2013
Сообщений: 64
17.05.2013, 14:21  [ТС] #6
GTS, да, правильно понял!

Добавлено через 2 минуты
Maksig, до таких директив ещё не дошёл, их не должно ещё быть в программе...
0
GTS
25 / 26 / 3
Регистрация: 02.04.2012
Сообщений: 293
17.05.2013, 14:22 #7
Сделай через функции, две функция, первая считает если первая переменная больше второй, вторая если первая переменная меньше второй, в main ты определяешь кто больше (через if ... else) и исходя из этого направляешь в определенную функцию.
0
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 5
Завершенные тесты: 1
17.05.2013, 14:26 #8
Замени
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    if (v1<=v2)
    {
        v1=lower;
        v2=upper;
    }
    else
    {
        v1=upper;
        v2=lower;
    }
    int sum;
    sum=0;
    while(lower<=upper)
    {
        sum+=lower;
        std::cout <<sum<< std::endl;
        ++lower;
        return 0;
    }
на...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    if (v1<=v2)
    {
        lower = v1;
        upper = v2;
    }
    else
    {
        lower = v2;
        upper = v1;
    }
    int sum = lower;
    while(sum <= upper)
    {
        std::cout << sum << std::endl;
        ++sum;
    }
Так же добавь перед вызовом main строчку
C++
1
using namespace str;
и можешь дальше не пользоваться глобальным расширением, т.е. просто cout вместо std::cout и прочее
GTS, через ф-и будет конечно правильнее, но похоже человек только начал изучать Си и до ф-я пока не дошел.
0
Tulosba
17.05.2013, 14:34
  #9

Не по теме:

Цитата Сообщение от Ilot Посмотреть сообщение
Так же добавь перед вызовом main строчку
Ну что Вы советуете всякую гадость? Засоряете пространство имен только для экономии сомнительных пяти символов. Эти темы уже много раз обсуждались.

0
GTS
25 / 26 / 3
Регистрация: 02.04.2012
Сообщений: 293
17.05.2013, 14:35 #10
Кликните здесь для просмотра всего текста
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
39
40
41
42
43
#include <iostream>
 
void first_more(int, int);
void second_more(int, int);
 
int main()
{
int first, second;
std::cin >> first;
std::cin >> second;
 
if (first > second)
{ 
first_more(first, second);
}
 
else
{ 
second_more(first, second);
}
 
system("pause");
return 0;
}
 
void first_more(int first, int second)
{
while (second != first)
{
second = second + 1;
std::cout << second << "\n";
}
}
 
void second_more(int first, int second)
 
{
while (first != second)
{
first = first + 1;
std::cout << first << "\n";
}
}


Я вот так сделал.
По поводу изучения, на сколько мне известно, сначала изучают функции, а только потом циклы и операторы условия.
0
bochik
1 / 1 / 0
Регистрация: 17.05.2013
Сообщений: 64
17.05.2013, 14:45  [ТС] #11
Цитата Сообщение от GTS Посмотреть сообщение
Кликните здесь для просмотра всего текста
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
39
40
41
42
43
#include <iostream>
 
void first_more(int, int);
void second_more(int, int);
 
int main()
{
int first, second;
std::cin >> first;
std::cin >> second;
 
if (first > second)
{ 
first_more(first, second);
}
 
else
{ 
second_more(first, second);
}
 
system("pause");
return 0;
}
 
void first_more(int first, int second)
{
while (second != first)
{
second = second + 1;
std::cout << second << "\n";
}
}
 
void second_more(int first, int second)
 
{
while (first != second)
{
first = first + 1;
std::cout << first << "\n";
}
}


Я вот так сделал.
По поводу изучения, на сколько мне известно, сначала изучают функции, а только потом циклы и операторы условия.
Может Вы и правы, но я строго по уч-ку шагаю... Там так... Ваша версия кода для меня (пока!!!) равносильна китайским иероглифам)))

Добавлено через 3 минуты
Ilot, спасибо, Ваш код работает, щас рабираюсь вот, где ошибся)
0
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 5
Завершенные тесты: 1
17.05.2013, 14:45 #12
Цитата Сообщение от Tulosba Посмотреть сообщение
Ну что Вы советуете всякую гадость? Засоряете пространство имен только для экономии сомнительных пяти символов. Эти темы уже много раз обсуждались.
Сам только недавно начал изучать Си. Спс. Надо будет учесть...
GTS, может тогда лучше так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
void func(int max, int min);
int main()
{
    int first, second;
    std::cin >> first >> second;
 
    if (first > second)
        func(first, second);
    else
        func(second, first);
 
    system("pause");
    return;
}
void func(int max, int min)
{
    for(;min <= max; min++)
        std::cout << min << "\n";
}
0
GTS
25 / 26 / 3
Регистрация: 02.04.2012
Сообщений: 293
17.05.2013, 14:47 #13
Кликните здесь для просмотра всего текста
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
#include <iostream>
 
int main()
{
int first, second;
std::cin >> first;
std::cin >> second;
 
if (first > second)
{ 
while (second != first)
{
second = second + 1;
std::cout << second << "\n";
}
}
 
else
{ 
while (first != second)
{
first = first + 1;
std::cout << first << "\n";
}
}
 
system("pause");
return 0;
}


А вот так вот.

Ilot,
Чем короче, тем лучше, я не думаю что ТС знает оператор for, я максимально использовал те операторы, которые он писал в своем первом коде.
0
bochik
1 / 1 / 0
Регистрация: 17.05.2013
Сообщений: 64
17.05.2013, 14:53  [ТС] #14
Ilot, спасибо Вам.... Щас буду работу над ошибками!!!

Добавлено через 6 минут
Всем спасибо, работаю дальше!!!!
0
17.05.2013, 14:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2013, 14:53
Привет! Вот еще темы с ответами:

Тренирующие упражнения - C++
Подскажите пожалуйста кто знает есть ли книги которые на упражнениях тренируют все конструкции, операторы и ключевые слова языка (например...

Упражнения для освоения С++ - C++
Привет, я хочу освоить программирование на более серозном уровне и мне интересно чему следует уделить усилия что б в будущем можно било...

Упражнения по инициализации,определении - C++
Проверьте пожалуйста, правильно я понимаю смысл инициализации указателей на константу, константных выражений и тп. 1. Объясните...

Структуры - разбор упражнения - C++
Прошу помочь с решением задачки и если не сложно объясните пожалуйста как вы то сделали. Есть 3 задачи (1 и 2 - я решил) - не могу решить...


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

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

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