С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 14
1

Перевод с C++ на C#: кодирование строк

18.06.2014, 00:23. Показов 1273. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть код написанный на с++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// 234!.cpp: главный файл проекта.
 
#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <stdio.h>
 
static int Encode(const char *SrcBuffer, char *DstBuffer, int SrcLength,
                                        const char *DecimWord, int DecimLength){
        int i, ResultLength, iShifr;
        for(i = 0, ResultLength = 0, iShifr = 0; i < SrcLength; ++i){
                                if(SrcBuffer[i] != ' '){
                                        DstBuffer[ResultLength++] = SrcBuffer[i];
                                        DstBuffer[ResultLength++] = DecimWord[iShifr % DecimLength];
                                        ++iShifr;
                                }
                else{
                                        DstBuffer[ResultLength++] = ' ';
                                }
        }
                return ResultLength;
}
 
static int Decode(const char *SrcBuffer, char *DstBuffer, int SrcLength){
        int i, ResultLength;
        for(i = 0, ResultLength = 0; i < SrcLength; ++i, ++ResultLength){
                if(SrcBuffer[i] != ' '){
                        DstBuffer[ResultLength] = SrcBuffer[i++];
                }
                else{
                        DstBuffer[ResultLength] = ' ';
                }              
        }
        return ResultLength;
}
int main(){
        const char* encoded_string = "Mama mila ramu";
        const char* shifr = "vesna";
        int enc_buffer_len, dec_buffer_len;
        char buf[100];
        dec_buffer_len = strlen(encoded_string);       
        enc_buffer_len = Encode(encoded_string, buf, dec_buffer_len, shifr, strlen(shifr));    
        buf[enc_buffer_len] = '\0';
        printf("%s\n", buf);
        dec_buffer_len = Decode(buf, buf, enc_buffer_len);
        buf[dec_buffer_len] = '\0';
        printf("%s\n", buf);
        system("pause");
        return 0;
}
нужно его перевести на с#
помогите пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2014, 00:23
Ответы с готовыми решениями:

Кодирование вещественных чисел (обратный перевод)
Всем доброго времени суток! Прошу помочь разобраться с данной темой. Мы здесь не используем...

Кодирование строк
Всем добрый день! Есть такая функция: public static string encode(String pText, String...

Кодирование и декодирование строк
Всем привет. Столкнулся с такой интересной ошибкой в своей программе def rsa_encode(data, key):...

Кодирование строк unicode в байты utf-8
Необходимо написать две функции: для декодирования байтов UTF-8 в строки Unicode и для кодирования...

1
1158 / 880 / 513
Регистрация: 09.04.2014
Сообщений: 2,086
18.06.2014, 01:16 2
Лучший ответ Сообщение было отмечено rexme как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            string encoded_string = "Mama mila ramu";
            string shifr = "vesna";
            string str = Encode(encoded_string, shifr);
            Console.WriteLine(str);
            str = Decode(str);
            Console.WriteLine(str);
            Console.ReadKey();
        }
        static string Encode(string SrcBuffer, string DecimWord)
        {
            StringBuilder result = new StringBuilder();
            int iShifr=0;
            for (int i = 0; i < SrcBuffer.Length; i++)
            {
                if (SrcBuffer[i] != ' ')
                {
                    result.Append(SrcBuffer[i]);
                    result.Append(DecimWord[iShifr % DecimWord.Length]);
                    ++iShifr;
                }
                else
                {
                    result.Append(' ');
                }
            }
            return result.ToString();
        }
        static string Decode(string SrcBuffer)
        {
            StringBuilder result = new StringBuilder();
            for (int i = 0; i < SrcBuffer.Length; i++)
            {
                if (SrcBuffer[i] != ' ')
                {
                    result.Append(SrcBuffer[i++]);
                }
                else
                {
                    result.Append(' ');
                }
            }
            return result.ToString();
        }
    }
}
0
18.06.2014, 01:16
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.06.2014, 01:16
Помогаю со студенческими работами здесь

Кодирование и декодирование строк по правилу цезаревской подстановки
Реализуйте кодирование и декодирование строк по правилу цезаревской подстановки. С клавиатуры...

Плагин Polylang добавление строк в настройки плагина в "Перевод строк"
Здравствуйте. Столкнулся с проблемой перевода. Использую плагин Polylang, все отлично работает,...

Перевод строк
Помогите студенту. Начал писать приложение на Windows Forms и вот сразу проблема : ...

Перевод строк
Всем привет. Ребят, помогите, пожалуйста, разобраться в этом коде. Не все папки выводит. public...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru