Форум программистов, компьютерный форум CyberForum.ru

комментарии к программе - C++

Восстановить пароль Регистрация
 
Олеся1
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 5
21.12.2011, 17:28     комментарии к программе #1
помогите пожалуйста!!! нужно написать комментарии вот к этой программе (нужны к каждой строчке)
и еще подскажите эта программа рабочая?

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
//метод строчн-столбовых перестановок
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <string.h>
 
using namespace std;
 
int main()
{
        int a, height, col, count=0;
        char *text, **mass;
        cout <<"Enter text:\n";
        gets(text);
        a=strlen(text);
        cout <<"Enter column height: ";
        cin >> height;
        col=a/height;
        if(a/height)col++;
        for(int i=0;i<height;i++)//записываем текст в матрицу
                for(int ic=0;ic<col;ic++, count++)
                        mass[i][ic]=text[count];
        count=0;
        for(int i=0;i<col;i++)//перезапись из столбцов в строки
                for(int ic=0;ic<height;ic++)
                        text[count]=mass[ic][i];
        //закодировали, теперь нажна раскодировать; ключем явлется высота столбцов, при помощи  него можно узнать на какое количество необходамо разделить, а также переменная col
       cout <<"Enter two key: ";
        cin >> height>>col;
 
        count=0;
        for(int i=0;i<col;i++)
                for(int ic=0;ic<height;ic++, count++)
                mass[i][ic]=text[count++];
        count=0;
        for(int i=0;i<height;i++)
                for(int ic=0;ic<col;ic++, count++)
                        text[count]=mass[i][ic];        
        _getch();
        return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2011, 17:28     комментарии к программе
Посмотрите здесь:

C++ Комментарии к программе
Комментарии к программе C++
C++ Комментарии к программе
Matrix. Комментарии к программе C++
C++ написать комментарии к программе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Horazoon
0 / 0 / 0
Регистрация: 08.02.2011
Сообщений: 13
21.12.2011, 17:41     комментарии к программе #2
Программа не рабочая. Видя, что никого нет сейчас попытаюсь помочь, но мои знания малы

что вы хотели сделать этим: if(a/height)col++; тут не имеется условия цикла, т.е. у вас сказано: если а делить на height, то col=col+1 ?
Олеся1
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 5
21.12.2011, 17:58  [ТС]     комментарии к программе #3
неужели вы не заметили что программа не мной написана и я вообще не разбираюсь в С++ и его синтаксисе но так сложилось что нужно максимально по-простому реализовать шифр перестановки (в данном случае это маршрутная) к сожалению это единственный пример который нашла в интернете
ах да еще необходимо реализовать именно на С++
n00b.vcxproj
Кодер
 Аватар для n00b.vcxproj
46 / 45 / 2
Регистрация: 10.10.2010
Сообщений: 229
21.12.2011, 18:05     комментарии к программе #4
программар рабочая, только вместо
C++
1
#include <iostream.h>
надо поставить
C++
1
#include <iostream>
.

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
#include <stdio.h>
 #include <conio.h>
 #include <iostream>
 #include <string.h>
 
 using namespace std;
 
 int main()
 {
 int a, height, col, count=0; //Определяем место в оперативной памяти переменным типа целых чисел a, height, col, count, последней сразу присваиваем значение 0
 char *text, **mass; //Создаём два указателя на строку(text) и массив строк (mass)
 cout <<"Enter text:\n"; //Выводим на экран сообщение: Enter text: , переносим курсор на следующую строку
 gets(text); //Ждём, пока пользователь введет строку из символов и нажмёт enter
 a=strlen(text); //Присваиваем переменной a длину строки в text
 cout <<"Enter column height: "; //Выводим на экран сообщение: Enter column height: 
 cin >> height; //Ждём, пока пользователь введёт целое число и нажмёт enter, после последнего действия присвоим введенное значение переменной height
 col=a/height; //Присваиваем переменной col значение частного переменной a на height
 if(!a%height)col++; //выражение у вас в коде неправильно, я переписал. если a делится на height, то повышаем значение col на единицу.
 for(int i=0;i<height;i++) //записываем текст в матрицу
 for(int ic=0;ic<col;ic++, count++)
 mass[i][ic]=text[count];
 count=0; //присваиваем переменной count значение 0
 for(int i=0;i<col;i++)//перезапись из столбцов в строки
 for(int ic=0;ic<height;ic++)
 text[count]=mass[ic][i];
 //закодировали, теперь нажна раскодировать; ключем явлется высота столбцов, при помощи него можно узнать на какое количество необходамо разделить, а также переменная col
 cout <<"Enter two key: "; //Выводим на экран сообщение: Enter two key:
 cin >> height>>col; //Ждём, пока пользователь последовательно(через enter или пробел) введет два целых числа, присваиваем их соответственно в переменные height и col
 count=0; //присваиваем переменной count значение 0
 for(int i=0;i<col;i++) //думаю тут все понятно
 for(int ic=0;ic<height;ic++, count++)
 mass[i][ic]=text[count++];
 count=0; //присваиваем переменной count значение 0
 for(int i=0;i<height;i++) // и тут тоже думаю все понятно
 for(int ic=0;ic<col;ic++, count++)
 text[count]=mass[i][ic]; 
 _getch(); //тормозим закрытие консоли
 return 0; // возвращаем 0, конец главной функции.
 }
Олеся1
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 5
21.12.2011, 18:31  [ТС]     комментарии к программе #5
n00b.vcxproj, спасибо большое!!!
for(int i=0;i<height;i++) //записываем текст в матрицу
for(int ic=0;ic<col;ic++, count++)
mass[i][ic]=text[count];
не подскажите как после этих строк вывести результат text[count] на экран
cout<<text[count] подойдет?
n00b.vcxproj
Кодер
 Аватар для n00b.vcxproj
46 / 45 / 2
Регистрация: 10.10.2010
Сообщений: 229
21.12.2011, 19:17     комментарии к программе #6
Цитата Сообщение от Олеся1 Посмотреть сообщение
не подскажите как после этих строк вывести результат text[count] на экран
cout<<text[count] подойдет?
да, только не забудьте фигурные скобки
Олеся1
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 5
21.12.2011, 22:42  [ТС]     комментарии к программе #7
n00b.vcxproj, проверила ваш исправленный вариант выдает ошибку на этой строчке gets(text);
вот ошибка:Run-Time Check Failure #3 - The variable 'text' is being used without being initialized.
можно ли как-нибудь по-другому произвести ввод строки?
n00b.vcxproj
Кодер
 Аватар для n00b.vcxproj
46 / 45 / 2
Регистрация: 10.10.2010
Сообщений: 229
22.12.2011, 18:56     комментарии к программе #8
дело не в вводе, он говорит, что не выделено место в памяти, чтобы туда что-то записать. Этот код будет работать.

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
#include <stdio.h>
 #include <conio.h>
 #include <iostream>
 #include <string.h>
 
 using namespace std;
 
 char text[1024], mass[1024][1024]; //Создаём два указателя на строку(text) и массив строк (mass)
 
 int main()
 {
 int a, height, col, count=0; //Определяем место в оперативной памяти переменным типа целых чисел a, height, col, count, последней сразу присваиваем значение 0
 cout <<"Enter text:\n"; //Выводим на экран сообщение: Enter text: , переносим курсор на следующую строку
 gets(text); //Ждём, пока пользователь введет строку из символов и нажмёт enter
 a=strlen(text); //Присваиваем переменной a длину строки в text
 cout <<"Enter column height: "; //Выводим на экран сообщение: Enter column height: 
 cin >> height; //Ждём, пока пользователь введёт целое число и нажмёт enter, после последнего действия присвоим введенное значение переменной height
 col=a/height; //Присваиваем переменной col значение частного переменной a на height
 if(!(a%height))col++; //выражение у вас в коде неправильно, я переписал. если a делится на height, то повышаем значение col на единицу.
 for(int i=0;i<height;i++) //записываем текст в матрицу
 for(int ic=0;ic<col;ic++, count++)
 mass[i][ic]=text[count];
 count=0; //присваиваем переменной count значение 0
 for(int i=0;i<col;i++)//перезапись из столбцов в строки
 for(int ic=0;ic<height;ic++)
 text[count]=mass[ic][i];
 //закодировали, теперь нажна раскодировать; ключем явлется высота столбцов, при помощи него можно узнать на какое количество необходамо разделить, а также переменная col
 cout <<"Enter two key: "; //Выводим на экран сообщение: Enter two key:
 cin >> height>>col; //Ждём, пока пользователь последовательно(через enter или пробел) введет два целых числа, присваиваем их соответственно в переменные height и col
 count=0; //присваиваем переменной count значение 0
 for(int i=0;i<col;i++) //думаю тут все понятно
 for(int ic=0;ic<height;ic++, count++)
 mass[i][ic]=text[count++];
 count=0; //присваиваем переменной count значение 0
 for(int i=0;i<height;i++) // и тут тоже думаю все понятно
 for(int ic=0;ic<col;ic++, count++)
 text[count]=mass[i][ic]; 
 _getch(); //тормозим закрытие консоли
 return 0; // возвращаем 0, конец главной функции.
 }
Олеся1
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 5
22.12.2011, 21:22  [ТС]     комментарии к программе #9
а еще такой вопрос для чего нужна переменная count=0 при циклах записи и перезаписи в матрицу?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2011, 21:32     комментарии к программе
Еще ссылки по теме:

комментарии к программе C++
Комментарии к программе на строки C++
Комментарии к программе C++

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

Или воспользуйтесь поиском по форуму:
n00b.vcxproj
Кодер
 Аватар для n00b.vcxproj
46 / 45 / 2
Регистрация: 10.10.2010
Сообщений: 229
22.12.2011, 21:32     комментарии к программе #10
Цитата Сообщение от Олеся1 Посмотреть сообщение
а еще такой вопрос для чего нужна переменная count=0 при циклах записи и перезаписи в матрицу?
она нужна для указания индекса массивов в циклах.
Yandex
Объявления
22.12.2011, 21:32     комментарии к программе
Ответ Создать тему
Опции темы

Текущее время: 08:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru