|
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
|
|
| 16.12.2019, 16:28 | |
|
Ответы с готовыми решениями:
1
|
|
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
|
|
| 16.12.2019, 17:12 | |
|
Отказываюсь переводить код, который использует goto
0
|
|
| 16.12.2019, 17:12 | |
|
Помогаю со студенческими работами здесь
2
Перевод кода
перевод кода Перевод кода из C++ в Си Перевод кода C#->C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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(), которая. . .
|