Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.12.2019
Сообщений: 2

Перевод кода С в C++

16.12.2019, 16:28. Показов 674. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста перевести код из С в С++


#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main()
{
srand(time(NULL));
setlocale(LC_ALL, "Rus"); // Команда для вывода на русском языке
int M, Consonant, number;
char stroka[5];
printf("Создаем квадратную матрицу размера M*M, где M является числом из целочисленного диапазона [2,5]\n");
char line[2];
fail:
printf("Введите кол-во строк и столбцов: ");
scanf("%s", line);
if(line[0] > 49 && line[0] < 54 && line[1] == '\0')
{
M = line[0] - 48;
}
else
{
printf("Вы ввели число не из заданного целочисленного диапазона [2;5]\nПопробуйте еще раз!\n");
goto fail;
}
int itog[M*M];
char k[2];
printf("\nВыберите вариант действий:\n1. Заполнить матрицу самостоятельно.\n2. Заполнить матрицу случайными словами.\n");
fail_2:
printf("Введите цифру выбранного вами варианта: ");
scanf("%s",k);
if(k[0] > 48 && k[0] < 51 && k[1] == '\0')
{
k[0] = k[0] - 48;
}
else{
printf("Вы ввели номер несуществующего варианта!\nПопробуйте еще раз!\n");
goto fail_2;
}
if(k[0] == 1)
{
printf("\nЗаполните матрицу M 4-ех буквенными словами на английском языке!\n");
printf("Введите последовательно построчно %d элементов матрицы!\n", M*M);
for (int i = 0; i < M*M; i++)
{
printf("Введите %d элемент матрицы!\n", i + 1);
Consonant = 0;
fail_1:
scanf("%s", stroka);
if(stroka[4] == '\0' && stroka[3] != '\0')
{
for (int x = 0; x < 4; x++)
{
if((stroka[x] < 65 || stroka[x] > 122 || (stroka[x] > 90 && stroka[x] < 97)) && x < 4)
{
printf("Вы ввели недопустимые символы!\nПопробуйте еще раз!\n");
//return 0;
goto fail_1;
}
if ((stroka[x] != 'a') && (stroka[x] != 'e') && (stroka[x] != 'i') &&
(stroka[x] != 'o') && (stroka[x] != 'u') && (stroka[x] != 'A') &&
(stroka[x] != 'E') && (stroka[x] != 'I') && (stroka[x] != 'O') &&
(stroka[x] != 'U'))
{
Consonant++;
}
}
itog[i] = Consonant;
}
else
{
printf("Вы ввели не 4-ех буквенное слово!\nПопробуйте еще раз!\n");
goto fail_1;
}

}
printf("\nВывод последовательно %d элементов массива,\nкаждый элемент означает кол-во согласных букв в соответсвующих словах квадратной матрицы!\n", M*M);
for(int i = 0; i < M*M; i++)
printf("%d ", itog[i]);
}

if(k[0] == 2)//рандом
{
char matrix[M][M][4];
for (int i = 0; i < M; i++)
for (int j = 0; j < M; j++)
for (int x = 0; x < 4; x++)
do{
matrix[i][j][x] = 65 + rand() % 58;
}while(matrix[i][j][x] > 90 && matrix[i][j][x] < 97);

printf("\nСлучайно сгенерированная матрица M: \n");
for (int i = 0; i < M; i++){
for (int j = 0; j < M; j++){
for (int x = 0; x < 4; x++)
printf("%c", matrix[i][j][x]);
printf("\t");
}
printf("\n");
}
number = 0;
for(int i = 0; i < M; i++)
{
for(int j = 0; j < M; j++)
{
Consonant = 0;
for(int z = 0; z < 4; z++)
{
if ((matrix[i][j][z] != 'a') && (matrix[i][j][z] != 'e') && (matrix[i][j][z] != 'i') &&
(matrix[i][j][z] != 'o') && (matrix[i][j][z] != 'u') && (matrix[i][j][z] != 'A') &&
(matrix[i][j][z] != 'E') && (matrix[i][j][z] != 'I') && (matrix[i][j][z] != 'O') &&
(matrix[i][j][z] != 'U'))
{
Consonant++;
}
}
itog[number] = Consonant;
number++;
}
}
printf("\nВывод последовательно %d элементов массива,\nкаждый элемент означает кол-во согласных букв в соответсвующих словах квадратной матрицы!\n", M*M);
for(int i = 0; i < M*M; i++)
printf("%d ", itog[i]);
}
for(int i = 0; i < M*M-1; i++) //сортируем по убывания числа
for(int j = M*M-1; j > i; j--)
if(itog[j - 1] < itog[j])
{
int c = itog[j - 1];
itog[j - 1] = itog[j];
itog[j] = c;
}
printf("\n\nВывод массива упорядоченного по убыванию: \n");
for(int i = 0; i < M*M; i++)
printf("%d ", itog[i]);
return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.12.2019, 16:28
Ответы с готовыми решениями:

Перевод кода с Паскаля (перевод в метры)
var a,b,d:integer; c,e:real; begin writeln('1-дециметр 2-километр'); writeln('3-метр 4-миллиметр'); ...

Перевод кода из C++
Ребят как перевести код C++ на PHP read(n); s = 0; while(n&gt;0){ s = s + n mod 2; n = n div 2; } write(s);

С++ -> C# (перевод кода)
Здравствуйте, я новичок на этом форуме, но попрошу помочь перевести эти 6 строк кода на C#. Желательно без unsafe. Хотя можно и с ним... ...

1
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
16.12.2019, 17:12
Отказываюсь переводить код, который использует goto
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.12.2019, 17:12
Помогаю со студенческими работами здесь

Перевод кода
Всем привет! Можете помочь с переводом кода? Кажется он написан на Turbo Pascal. Не знаю этот язык. Результат этой программы показан на...

Перевод кода
Скажите пожалуйста,как я могу перевести из Паскаля Var n, i : integer; item : integer; begin writeln('vvedite kol elementoff...

перевод кода
помогите пожалуйста перевести код с паскаля на java. uses crt; var a:array of integer; i,j,l,q,t:longint; m:set of...

Перевод кода из C++ в Си
#include &lt;iostream&gt; bool test(int * arr, size_t size){ int sign; if ( ! arr || ! size ) return false; ...

Перевод кода C#->C++
Здравствуйте. Подскажите, пожалуйста, как корректно преобразовать код в C++/CLI. public struct AVIFILEINFO { public Int32...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 01.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 31.01.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru