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

Подправить программу на миссивы, си++ - C++

Восстановить пароль Регистрация
 
Beverly
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 51
29.11.2013, 17:57     Подправить программу на миссивы, си++ #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
42
43
44
45
46
47
#include <stdio.h>
#include <math.h>
#include <iostream.h>
void main ()
{ int i, j, n;
printf ("Vvedite kol-vo strok i stolbcov massiva mas: ");
scanf ("&d %d", &i, &j);
 
int mas [10] [10] = { {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
            {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
            {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
            {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
            {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
            {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
            {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
            {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
            {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
            {1, 1, 1, 1, 1, 1, 1, 1, 1, 1} };
 
 
n=9;
 
for (a=0; a<=3; a++)
...
(Нужно сгенерировать цикл, в котором числу а присваивается случайное значение.
В итоге должна получиться матрица, в которой в определенных местах вставлены нули)
 
 
switch (mas [i] [j])
{
case 0: mas [i] [j] = 0; mas [j] [10-i+1] = 1; mas [10-j+1] [i] = 1; mas [10-i+1] [10-j+1] = 1; break;
 
case 1: mas [j] [10-i+1] = 0; mas [i] [j] = 1; mas [10-j+1] [i] = 1; mas [10-i+1] [10-j+1] = 1; break;
 
case 2: mas [10-j+1] [i] = 0; mas [i] [j] = 1; mas [j] [10-i+1] = 1; mas [10-i+1] [10-j+1] = 1; break;
 
case 3: mas [10-i+1] [10-j+1] = 0; mas [i] [j] = 1; mas [j] [10-i+1] = 1; mas [10-j+1] [i] = 1; break;
 
}
for (i=0; i<(n-1); i++)
{
for (j=0; j<(n-1); j++)
 
printf ("reshetku mozhno sostavit, esli %d %d ravny 0, ", mas [i] [j]);
}
printf ("\n");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 17:57     Подправить программу на миссивы, си++
Посмотрите здесь:

Подправить программу, где-то ошибся) C++
помогите подправить программу C++
C++ Необходимо подправить программу
C++ Распределение памяти (подправить программу)
Нужно подправить программу C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Waik
10 / 10 / 1
Регистрация: 23.04.2013
Сообщений: 55
29.11.2013, 17:59     Подправить программу на миссивы, си++ #2
Кто-то пишет условие задачи но не прикладывает свой код, вы решили наоборот)
Beverly
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 51
29.11.2013, 18:10  [ТС]     Подправить программу на миссивы, си++ #3
Решетка - это клетчатый квадрат 10х10 клеток, некоторые клетки вырезаны. Суть шифровки состоит в том, что решетка накладывается на лист и в прорези поочередно вписываются буквы текста, затем решетка поворачивается на 90 градусов, и в прорези снова вписывается текст. И так четыре раза.
Решетку можно изображать квадратной матрицей порядка 10 из нулей и единиц (нуль изображает прорезь). Доказано, что матрица [Aij] (i=1,...,10; j=1,...,10) может служить ключом шифра, если из элементов ai, j, aj, a(10-j+1), (10-i+1), i, a(10-i+1), (10-j+1) в точности один равен нулю.
Написать программу составления шифровальной решетки.
ssXXss
263 / 185 / 10
Регистрация: 15.01.2011
Сообщений: 668
29.11.2013, 18:16     Подправить программу на миссивы, си++ #4
Цитата Сообщение от Beverly Посмотреть сообщение
(Нужно сгенерировать цикл, в котором числу а присваивается случайное значение.
В итоге должна получиться матрица, в которой в определенных местах вставлены нули)
Кликните здесь для просмотра всего текста

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
// main.h
#include <iostream>
void main()
{
    int mas[10][10] = { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
    { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
    { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
    { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
    { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
    { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
    { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
    { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
    { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
    { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } };
 
    for (int i = 0; i < 10; i++)
    {
        mas[i][(rand() % 9)] = 0;
    }
    for (int i = 0; i < 10; i++)
    {
        printf("mas[%d] = {",i);
        for (int j = 0; j < 10; j++)
        {
            printf(" %d", mas[i][j]);
        }
        printf("}\n");
    }
    system("pause");
}
Beverly
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 51
29.11.2013, 18:23  [ТС]     Подправить программу на миссивы, си++ #5
Спасибо, конечно, но это не то, что мне было нужно.

Я просила помочь написать всего один цикл (так-то моя программа прекрасно работает, но выводит на экран только единицы). Этот самый цикл должен генерировать случайные значения от 0 до 3 из switch
newyork7776
 Аватар для newyork7776
346 / 339 / 79
Регистрация: 21.05.2013
Сообщений: 1,305
Завершенные тесты: 1
04.12.2013, 01:17     Подправить программу на миссивы, си++ #6
я не могу прочитать код проги напишите нормально

Добавлено через 4 минуты
Нужно сгенерировать цикл, в котором числу а присваивается случайное значение. В итоге должна получиться матрица
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Вначале програмки нужно написать
#include <time.h>
 
в теле проги
srand(time(NULL);)
 
сам цыкл заполнение числом 
for(int i=0;i<n;i++)
{
     for(int j=0;j<m;j++)
     {
          mas[i][j]=rand()%100-50;
          cout << mas[i][j] << " ";
     }
cout << "\n";
}
Добавлено через 1 минуту
Цитата Сообщение от Beverly Посмотреть сообщение
for (i=0; i<(n-1); i++) { for (j=0; j<(n-1); j++)
и что здесь делает?
Цитата Сообщение от Beverly Посмотреть сообщение
switch (mas [i] [j]) { case 0: mas [i] [j] = 0; mas [j] [10-i+1] = 1; mas [10-j+1] [i] = 1; mas [10-i+1] [10-j+1] = 1; break;
case 1: mas [j] [10-i+1] = 0; mas [i] [j] = 1; mas [10-j+1] [i] = 1; mas [10-i+1] [10-j+1] = 1; break;
case 2: mas [10-j+1] [i] = 0; mas [i] [j] = 1; mas [j] [10-i+1] = 1; mas [10-i+1] [10-j+1] = 1; break;
case 3: mas [10-i+1] [10-j+1] = 0; mas [i] [j] = 1; mas [j] [10-i+1] = 1; mas [10-j+1] [i] = 1; break;
Зачем?Зачем?Зачем?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2013, 08:41     Подправить программу на миссивы, си++
Еще ссылки по теме:

Подправить программу C++
C++ Подправить программу
C++ Подправить готовую программу, что бы использовались указатели

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

Или воспользуйтесь поиском по форуму:
Beverly
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 51
04.12.2013, 08:41  [ТС]     Подправить программу на миссивы, си++ #7
Решетка - это клетчатый квадрат 10х10 клеток, некоторые клетки вырезаны. Суть шифровки состоит в том, что решетка накладывается на лист и в прорези поочередно вписываются буквы текста, затем решетка поворачивается на 90 градусов, и в прорези снова вписывается текст. И так четыре раза. Решетку можно изображать квадратной матрицей порядка 10 из нулей и единиц (нуль изображает прорезь). Доказано, что матрица [Aij] (i=1,...,10; j=1,...,10) может служить ключом шифра, если из элементов ai, j, aj, a(10-j+1), (10-i+1), i, a(10-i+1), (10-j+1) в точности один равен нулю. Написать программу составления шифровальной решетки.

Добавлено через 3 минуты
mas[i][j]=rand()%100-50;
Объясните, пожалуйста, что тут происходит?

Добавлено через 7 часов 14 минут
При том, что Вы написали, программа выводит на экран какие-то неизвестные ранее цифры, а не о и 1
Yandex
Объявления
04.12.2013, 08:41     Подправить программу на миссивы, си++
Ответ Создать тему
Опции темы

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