Есть ответ 👍

C++ как сделать так чтобы пользователь сам вводил максимальное число символов в строке в первой строке записано одно целое число n (1 ≤ n ≤ 100) — количество символов в строке.

236
297
Посмотреть ответы 2

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

dashhach
4,6(37 оценок)

//к пониманию мы не придём, так что вот мой вариант //dev-c++ 4.9.9.2 #include < iostream> #include < string> using namespace std; int main(){   string s;   int n=0;   cin> > n;   do{   cin> > s; }  while(s.length()> n);   cin.get();   cin.get(); return 0; } пример ввода: 3 //максимум символов some_text another_text abc //эта строка будет записана в s

#include <iostream>

#include <time.h>  // для time()

//функция сортировки

void sort(double** _base_mas, double** _copy_mas, int n, int m)

{

// копируем из базового в под запись

for (long long jjj = 0; jjj < long long(n) * m; jjj++)

 *(*(_copy_mas + jjj / n) + jjj % n) = *(*(_base_mas + jjj / n) + jjj % n);

// сортируем

for (long long kkk = 0; kkk < long long(n) * m; kkk++)

 for (long long jjj = 1; jjj < long long(n) * m; jjj++) {

  double& first = *(*(_copy_mas + (jjj - 1) / n) + (jjj - 1) % n);

  double& second = *(*(_copy_mas + jjj / n) + jjj % n);

  if (first < second) std::swap(first, second);

 }

// конструкция избежать переполнение на байтовом уровне (из 4 в 8)

}

int main() {

srand(time(0));

int n;

int m;

std::cout << "Enter length: ";

std::cin >> n;

std::cout << "Enter height: ";

std::cin >> m;

double** base_mas = new double* [m]; // исходный массив

double** copy_mas = new double* [m]; // массив под запись

std::cout << "befor:" << std::endl;

for (int jjj = 0; jjj < m; jjj++) {

 base_mas[jjj] = new double[n];

 copy_mas[jjj] = new double[n];

 // заполняем исходный массив случайными числами и выводим в консоль

 for (int kkk = 0; kkk < n; kkk++)

 {

  base_mas[jjj][kkk] = rand() % 101;

  std::cout << base_mas[jjj][kkk] << '\t';

 }

 std::cout << std::endl;

}

// сортируем

sort(base_mas, copy_mas, n, m);

// выводим результат

std::cout<<"\nafter:" << std::endl;

for (int jjj = 0; jjj < m; jjj++) {

 for (int kkk = 0; kkk < n; kkk++) {

  std::cout << copy_mas[jjj][kkk] << '\t';

 }

 std::cout << std::endl;

}

// овобождаем память (хотя т.к конец программы делать не обязательно)

for (int jjj = 0; jjj < m; jjj++) {

 delete[] base_mas[jjj];

 delete[] copy_mas[jjj];

}

delete[] base_mas;

delete[] copy_mas;

}

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS