• Предмет: Информатика
  • Автор: yanakotic2004rus
  • Вопрос задан 1 год назад

#include
#include
using namespace std;

int main()
{
char **mass = new char *[8];
for(int i = 0; i < 8; i++)
{
mass[i] = new char[20];
cin >> mass[i];
}

for(int i = 0 ; i < 8; i++)
{
for(int j = i + 1; j < 8; j++)
{
if(strcmp(mass[i], mass[j]) > 0)
{
char* tmp = mass[i];
mass[i] = mass[j];
mass[j] = tmp;
}
}

}

for(int i = 0; i < 8; i++)
{
cout << mass[i] << endl;
}
return 0;
}
Переделать код на функцию с++
Заранее спасибо!

Ответы

Ответ дал: vadimlinniksamp
0



Вот как можно переделать этот код в функцию на C++:

cpp

Copy code

#include <iostream>

#include <cstring>

using namespace std;

void sortStrings(char** strings, int size)

{

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

{

for(int j = i + 1; j < size; j++)

{

if(strcmp(strings[i], strings[j]) > 0)

{

char* tmp = strings[i];

strings[i] = strings[j];

strings[j] = tmp;

}

}

}

}

int main()

{

const int SIZE = 8;

char** mass = new char*[SIZE];

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

{

mass[i] = new char[20];

cin >> mass[i];

}

sortStrings(mass, SIZE);

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

{

cout << mass[i] << endl;

}

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

{

delete[] mass[i];

}

delete[] mass;

return 0;

}

Мы создали функцию sortStrings(), которая сортирует массив строк, переданный в качестве аргумента, и его размер. Затем мы вызываем эту функцию в основной функции main().

Важно обратить внимание на удаление выделенной динамической памяти. Мы должны удалить каждый элемент массива строк, а затем удалить сам массив.


yanakotic2004rus: ты можешь переписать этот код без динамического массива
Похожие вопросы