C++ Нужна помощь по задачам из книги Липпмана

  • Автор темы Автор темы Annanel
  • Дата начала Дата начала
Просто на мой взгляд в книге изложина лишь часть оператора, либо я просто не так информацию уловил что не смог прийти логически к решению двух упражнений, но благо мне просто донесли суть.
кста, скажи пожалуйста название книги. Хочу задачки порешать:4Head:
 
кста, скажи пожалуйста название книги. Хочу задачки порешать:4Head:
1673180979035.png

Язык программирования C++. Базовый курс Стенли Б. Липпман (cкорей всего эта книга)
это последняя задача
C++:
Expand Collapse Copy
#include <iostream>
using namespace std;
int main() {
    setlocale(LC_ALL, "rus");
    int a;
    int b;
    cout << "Введите 1 число: ";
    cin >> a;
    cout << "\nВведите 2 число: ";
    cin >> b;
    int x;
    if (a > b)
    {
        x = a; a = b; b = x;
        for (a++; a < b; a++)
        {
            cout << a << " ";
        }
    }
    else
    {
        for (a++; a < b; a++)
        {
            cout << a << " ";
        }
    }
}
ахах ахыахывхаыхвах бля я проверку не увидел ебанный свет
зачем ты проверяешь больше ли a чем b?
если у тебя в else точно такой же код
то есть это тоже самое что
code:
Expand Collapse Copy
using namespace std

int main()

{

   int a = 10, b = 13, x = 11;
   if (a < x)
  {

    cout << "-";

  }

  else

  {

   cout << "-";

  }



}
 
@soa47 У меня вопрос касательно написание читов, а вообще обязательно знать все в языке C++ или достаточно выучить какие-то функции операторы и библиотеки?
кста, скажи пожалуйста название книги. Хочу задачки порешать:4Head:
Язык программирования C++. Базовый курс Липпман . В конце каждого оператора или темы есть примеры.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
@soa47 У меня вопрос касательно написание читов, а вообще обязательно знать все в языке C++ или достаточно выучить какие-то функции операторы и библиотеки?

Язык программирования C++. Базовый курс Липпман . В конце каждого оператора или темы есть примеры.
ну не прям все, но многое, знание языка в этом деле - 50% работы.
 
если у тебя в else точно такой же код
нуу не совсем
у него в первой ветке еще обмен значений идет (но цикл, конечно, можно было и вынести в конец, убрав else)
а придирки до 4 байт (не от тебя) не особо понял, на самом деле. если пользователь введет сначала большее число, а затем меньшее, то без обмена задача не выполнится

upd. т.е.в задаче не сказано, что сначала ввести меньшее, потом большее - только "2 целых числа". поэтому при x > y этот код не выведет числа между
Вариант если нужно вывести ВСЕ числа, включая определяющие диапазон:
C++:
Expand Collapse Copy
#include <iostream>

using namespace std;

int main()
{
    int x, y;
    cin >> x;
    cin >> y;

    while (x <= y)
    {
        cout << x++ << endl;
    }
}
 
Последнее редактирование:
нуу не совсем
у него в первой ветке еще обмен значений идет (но цикл, конечно, можно было и вынести в конец, убрав else)
а придирки до 4 байт (не от тебя) не особо понял, на самом деле. если пользователь введет сначала большее число, а затем меньшее, то без обмена задача не выполнится

зачем ты опять срёшь в код? ты инициализовал переменные a,b,а затем пошёл делать cout и после него инициализовал ещё одну переменную
зачем ты инициализовал x и прировнял к нему b?
у тебя после этой хуйни
a = b
b = a
ЗАААЧЕМ?
я не особо смотрел код человечка снизу, но судя по тому, что он даже не смог дать нормальное объяснение зачем он это сделал (то, про что написал ты), можно уверенно считать что этот код даже не его.
а насчёт лишних четырёх байтов - я написал ему про это чисто потому что @eneOperIer написал ему про лишнюю переменную, а он не смог дать внятного ответа зачем она нужна, следовательно я посчитал что справиться можно и без неё, перед этим не посмотрев задачу.

P.S. так же возможно в задаче указано что второе число всегда должно быть больше первого.
UPD: посмотрел ласт задачу, такого условия всё же нет.
это мои религиозные причуды
 
ну не прям все, но многое, знание языка в этом деле - 50% работы.
Тогда мне лучше книгу на 100% прочитать получить знания и тогда уже можно будет браться за вещи посложней.
 
этим не стоит гордиться, ты на этом уровне и останешься, а тот кто задал вопрос через неделю уже опытнее тебя будет.
@Annanel не обращай на него внимание, ты задал хороший вопрос, у тебя все получится.
Ух блять мотивация течёт по штанам, завтра уже сеньёр 300кк/наносек, спасибо бро
 
вы че ебнулись? это школьная программа
p.s мне лично похуй кто что делает но мне кажеться странным заниматься этой хуйней
 
вы че ебнулись? это школьная программа
p.s мне лично похуй кто что делает но мне кажеться странным заниматься этой хуйней

Видишь, есть люди которые додумались начать со школьной программы, в отличии от тебя) Насчет хуйни вообще непонятно, дефолтные задачки что бы подытожить пройденную тему, ты либо слишком умный, либо слишком тупой
 
Видишь, есть люди которые додумались начать со школьной программы, в отличии от тебя) Насчет хуйни вообще непонятно, дефолтные задачки что бы подытожить пройденную тему, ты либо слишком умный, либо слишком тупой
Честно говоря подобное давали еще давно, в 9 классе.
 
1.9
C++:
Expand Collapse Copy
#include <iostream>

int main()
{
  int result = 0;
  int i = 50;
  while (i <= 100)
  {
    result += i;
    i++;
  }

  printf("Result = %d\n", result);

  return 0;
}

1.10
C++:
Expand Collapse Copy
#include <iostream>

int main()
{
  int i = 10;
  while (i >= 0)
  {
    printf("%d\n", i);
    i--;
  }

  return 0;
}

1.11

C++:
Expand Collapse Copy
#include <iostream>
int main()
{
  printf("Enter first value: \n");
  int first_value = 0;
  scanf("%d", &first_value);

  printf("Enter second value: \n");
  int second_value = 0;
  scanf("%d", &second_value);

  int higher_value = first_value > second_value ? first_value : second_value;
  int lower_value = first_value < second_value ? first_value : second_value;
  if (higher_value == lower_value)
  {
    printf("No numbers? :kappa:\n");
    return 0;
  }

  for (int i = lower_value; i <= higher_value; i++)
  {
    printf("%d\n", i);
  }

  return 0;
}
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Я шокирован системой образования в некоторых странах.
я тоже учил в школе паскаль, точнее, с моими знаниями это Я учил учительницу языкам программирования ( без рофла ), и что?
 
@soa47 Привет, у меня вопрос по правильности написания, тебе самы задачи только буду использовать оператор for и только его(мне нужно переписать их используя for)
Вот как я написал:

Задача 1.9:
C++:
Expand Collapse Copy
#include <iostream>

int main()
{
  int sum = 0;
  for (int val = 50; val <= 100; ++val)
    {
      sum += val;
    }
  std::cout << sum << std::endl;
}

Задача 1.10(Не уверен в правильности так как была ошибка в компеляторе, но он вывел от 9 до 0)
C++:
Expand Collapse Copy
#include <iostream>

int main()
{
  int i = 10;
  for (i >= 0; --i;)
    {
      std::cout << i << std::endl;
    }
}

Задача 1.11 ( человек помог код исправил)
C++:
Expand Collapse Copy
#include <iostream>

int main()
{
  int a, b;
  std::cin >> a >> b;
  for (; a <= b; ++a;)
    {
      std::cout << a << std::endl;
    }
}
 
Последнее редактирование:
Задача 1.11 ( код не правильный, не понимаю как реализовать постоянно выводит цифру 1)
C++:
Expand Collapse Copy
#include <iostream>

int main()
{
  int a, b;
  std::cin >> a >> b;
  for (a <= b; ++b;)
    {
      std::cout << a << std::endl;
    }
}
итерируешь ты значение B, а выводишь A, поэтому оно у тебя остаётся неизменным
 
итерируешь ты значение B, а выводишь A, поэтому оно у тебя остаётся неизменным
Поменял, но теперь он считает до бесконечности. Мне надо чтобы вывел числа в заданном диапазоне.
 
Назад
Сверху Снизу