Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Олеся1
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 5
1

комментарии к программе

21.12.2011, 17:28. Просмотров 764. Ответов 9
Метки нет (Все метки)

помогите пожалуйста!!! нужно написать комментарии вот к этой программе (нужны к каждой строчке)
и еще подскажите эта программа рабочая?

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;
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2011, 17:28
Ответы с готовыми решениями:

Комментарии к программе
Есть программа которая считывает текст из файла и выводит только...

Комментарии к программе
нужна помощь с комментариями, желательно к каждой строчке #include &lt;stdio.h&gt; ...

Комментарии к программе
Здраствуйте. Напишите, пожалуйста, комментарии к строкам, где этих комментариев...

комментарии к программе
можно написать построчные комментарии к программе? #include &lt;stdio.h&gt;...

Комментарии к программе
#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; /* оболочка...

9
Horazoon
0 / 0 / 1
Регистрация: 08.02.2011
Сообщений: 13
21.12.2011, 17:41 2
Программа не рабочая. Видя, что никого нет сейчас попытаюсь помочь, но мои знания малы

что вы хотели сделать этим: if(a/height)col++; тут не имеется условия цикла, т.е. у вас сказано: если а делить на height, то col=col+1 ?
0
Олеся1
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 5
21.12.2011, 17:58  [ТС] 3
неужели вы не заметили что программа не мной написана и я вообще не разбираюсь в С++ и его синтаксисе но так сложилось что нужно максимально по-простому реализовать шифр перестановки (в данном случае это маршрутная) к сожалению это единственный пример который нашла в интернете
ах да еще необходимо реализовать именно на С++
0
n00b.vcxproj
Кодер
47 / 46 / 7
Регистрация: 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
Олеся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] подойдет?
0
n00b.vcxproj
Кодер
47 / 46 / 7
Регистрация: 10.10.2010
Сообщений: 229
21.12.2011, 19:17 6
Цитата Сообщение от Олеся1 Посмотреть сообщение
не подскажите как после этих строк вывести результат text[count] на экран
cout<<text[count] подойдет?
да, только не забудьте фигурные скобки
1
Олеся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.
можно ли как-нибудь по-другому произвести ввод строки?
0
n00b.vcxproj
Кодер
47 / 46 / 7
Регистрация: 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
Олеся1
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 5
22.12.2011, 21:22  [ТС] 9
а еще такой вопрос для чего нужна переменная count=0 при циклах записи и перезаписи в матрицу?
0
n00b.vcxproj
Кодер
47 / 46 / 7
Регистрация: 10.10.2010
Сообщений: 229
22.12.2011, 21:32 10
Цитата Сообщение от Олеся1 Посмотреть сообщение
а еще такой вопрос для чего нужна переменная count=0 при циклах записи и перезаписи в матрицу?
она нужна для указания индекса массивов в циклах.
1
22.12.2011, 21:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2011, 21:32

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

Комментарии к программе
--------------------------------------------------------------------------------...

Нужны комментарии к программе
нужны Коментарии к программе нужно узнать что делает каждая функция ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru