Вопрос задан 13.07.2023 в 07:44. Предмет Информатика. Спрашивает Мецкер Ника.

Переведите из Python в C++ n, k = [int(s) for s in input().split()] bahn = ['I'] * n for i in

range(k): left, right = [int(s) for s in input().split()] for j in range(left - 1, right): bahn[j] = '.' print(''.join(bahn)) Пожалуйста,дам много баллов .
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Мирный Кирилл.

Если в 4-й и 5-й строках исходного кода на Python 1 отступ, а в 6-й - два отступа, то эквивалент на C++ может быть записан в следующем виде:

#include <iostream>

#include <string>

#include <sstream>

#include <vector>

int main()

{

   char c;

   int n, k;

   std::vector<int> left,right;

   std::string line,nk;

   std::vector<char> bahn;

   std::getline(std::cin, line);

   for (int i = 0; i < line.length(); i++)

       if (line[i] != ' ') nk.push_back(line[i]);

       else {  n = atoi(nk.c_str()); nk = std::string(); }

   k = atoi(nk.c_str());

   for (int i=0;i<n;i++) bahn.push_back('I');

   for (int i = 0; i < k; i++)

   {

       nk.clear();

       std::getline(std::cin, line);

       for (int i = 0; i < line.length(); i++)

           if (line[i] != ' ') nk.push_back(line[i]);

           else {  left.push_back(atoi(nk.c_str()));  nk = std::string(); }

       right.push_back(atoi(nk.c_str()));

   }

   line = std::string(bahn.begin(), bahn.end());

   for (int i = 0; i < k; i++)

       for (int j = left.at(i) - 1; j < right.at(i); j++)

           line[j] = '.';

   std::cout <<  line;

   return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот эквивалент кода на C++:

cpp
#include <iostream> #include <vector> using namespace std; int main() { int n, k; cin >> n >> k; vector<char> bahn(n, 'I'); for (int i = 0; i < k; i++) { int left, right; cin >> left >> right; for (int j = left - 1; j < right; j++) { bahn[j] = '.'; } for (int j = 0; j < n; j++) { cout << bahn[j]; } cout << endl; } return 0; }

Обратите внимание, что в C++ вместо списка bahn используется вектор std::vector<char>. Также, обратите внимание на использование индексов с 0 в C++ вместо 1, как в Python.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос