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

Составить блоксхему - C++

Восстановить пароль Регистрация
 
Син
1 / 1 / 0
Регистрация: 24.05.2012
Сообщений: 24
19.06.2013, 17:31     Составить блоксхему #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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 5
 
int main()
{
    int array[N][N];    // объявляем массив значений int размерностью N x N
    srand(time(0));     // инициализируем генератор псевдослучайных значений текущим временем
    for(int i = 0; i < N; i++)  // в цикле по i от 0 до N-1
        for(int j = 0; j < N; j++) // в цикле по j от 0 до N-1
            array[i][j] = rand();  // присваиваем очередному элементу массива случайное значение
    printf("Original matrix:\n");  // вывод сообщения
    for(int i = 0; i < N; i++)     // в цикле по i от 0 до N-1
    {
        for(int j = 0; j < N; j++) // в цикле по j от 0 до N-1
            printf("%5i ", array[i][j]); // выводим очередной элемент массива
        putchar('\n');
        putchar('\n');  // два перевода строки
    }
    int min_i, min_j, max_i, max_j, min, max; // объявляем кучу переменных типа int
    min = array[0][0];  // присваиваем минимальной переменной первый элемент массива
    min_i = 0; min_j = 0;   // присваваем минимальным индексным переменным его индексы
    for(int i = 0; i < N; i++)  // в цикле по i от 0 до N-1
        for(int j = 0; j < N; j++)  // в цикле по j от 0 до N-1
            if(array[i][j] < min)  // если очередной элемент меньше минимального
            {
                min = array[i][j];  // в минимальную переменную записываем его
                min_i = i;          // в минимальные индексные - его индексы
                min_j = j;
            }
    max = array[0][0];
    max_i = 0; max_j = 0;
    for(int i = 0; i < N; i++)
        for(int j = 0; j < N; j++)
            if(array[i][j] > max)
            {
                max = array[i][j];
                max_i = i;
                max_j = j;
            }
    printf("Minimum: %i, Maximum: %i\n\n", min, max); // выводим на экран максимальный и минимальный элементы
    int buf;    // объявляем переменную-буфер
    for(int i = 0; i < N; i++) // в цикле по i от 0 до N-1
    {
        // обмениваем элементы в строках минимального и максимального элемента
        buf = array[i][min_j];
        array[i][min_j] = array[i][max_j];
        array[i][max_j] = buf;
    }
    for(int j = 0; j < N; j++) // в цикле по j от 0 до N-1
    {
        // обмениваем элементы в столбцах минимального и максимального элемента
        buf = array[min_i][j];
        array[min_i][j] = array[max_i][j];
        array[max_i][j] = buf;
   }
    // выводим новый массив
    printf("New matrix:\n");
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < N; j++)
           printf("%5i ", array[i][j]);
        putchar('\n');
        putchar('\n');
    }
    return 0;
 
}
Добавлено через 19 часов 12 минут
очень нужно, сроки поджимают.

Добавлено через 3 часа 15 минут
Ну хоть кто нибудь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2013, 17:31     Составить блоксхему
Посмотрите здесь:

C++ Доработать блоксхему
C++ Прокомментировать код и составить блоксхему

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Син
1 / 1 / 0
Регистрация: 24.05.2012
Сообщений: 24
20.06.2013, 17:51  [ТС]     Составить блоксхему #2
В общем откомпилировал программу, и составил блоксхему. Но если с прогой все норм, то блоксхему опять завернули.

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#define N 5
 
int main()
{
int array[N][N]; // объявляем массив значений int размерностью N x N
srand(time(0)); // инициализируем генератор псевдослучайных значений текущим временем
for(int i = 0; i < N; i++) // в цикле по i от 0 до N-1
for(int j = 0; j < N; j++) // в цикле по j от 0 до N-1
array[i][j] = rand(); // присваиваем очередному элементу массива случайное значение
printf("Original matrix:\n"); // вывод сообщения
for(int i = 0; i < N; i++) // в цикле по i от 0 до N-1
{
for(int j = 0; j < N; j++) // в цикле по j от 0 до N-1
printf("%5i ", array[i][j]); // выводим очередной элемент массива
putchar('\n');
putchar('\n'); // два перевода строки
}
int min_i, min_j, max_i, max_j, min, max; // объявляем кучу переменных типа int
min = array[0][0]; // присваиваем минимальной переменной первый элемент массива
min_i = 0; min_j = 0; // присваваем минимальным индексным переменным его индексы
for(int i = 0; i < N; i++) // в цикле по i от 0 до N-1
for(int j = 0; j < N; j++) // в цикле по j от 0 до N-1
if(array[i][j] < min) // если очередной элемент меньше минимального
{
min = array[i][j]; // в минимальную переменную записываем его
min_i = i; // в минимальные индексные - его индексы
min_j = j;
}
max = array[0][0];
max_i = 0; max_j = 0;
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
if(array[i][j] > max)
{
max = array[i][j];
max_i = i;
max_j = j;
}
printf("Minimum: %i, Maximum: %i\n\n", min, max); // выводим на экран максимальный и минимальный элементы
int buf; // объявляем переменную-буфер
for(int i = 0; i < N; i++) // в цикле по i от 0 до N-1
{
// обмениваем элементы в строках минимального и максимального элемента
buf = array[i][min_j];
array[i][min_j] = array[i][max_j];
array[i][max_j] = buf;
}
for(int j = 0; j < N; j++) // в цикле по j от 0 до N-1
{
// обмениваем элементы в столбцах минимального и максимального элемента
buf = array[min_i][j];
array[min_i][j] = array[max_i][j];
array[max_i][j] = buf;
}
// выводим новый массив
printf("New matrix:\n");
for(int i = 0; i < N; i++)
{
for(int j = 0; j < N; j++)
printf("%5i ", array[i][j]);
putchar('\n');
putchar('\n');
}
return 1;
getch();
}
{ссылки удалены}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,405
20.06.2013, 17:55     Составить блоксхему #3
Выкладывайте картинки на форум во вложениях
Составить блоксхему Составить блоксхему
Мне вот вообще не видно разницы между внешним и вложенным циклами. Стрелки лишние везде. И стоило бы внутри циклов писать
Код
i = 0, N-1
i++ вообще языкозависимая конструкция, её на блок-схемах быть не должно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,405
20.06.2013, 17:57     Составить блоксхему #4
Да и в циклах вы напортачили. Внутренний как будто пустой, а потом один раз выполняется инструкция после обхода вложенного и переход на след. итерацию внешнего

Добавлено через 31 секунду
И теме место здесь http://www.cyberforum.ru/algorithms/
Син
1 / 1 / 0
Регистрация: 24.05.2012
Сообщений: 24
20.06.2013, 18:08  [ТС]     Составить блоксхему #5
Цитата Сообщение от MrGluck Посмотреть сообщение
И теме место здесь http://www.cyberforum.ru/algorithms/
Извиняюсь, не знал. Буду иметь ввиду. А из тех ошибок которые я сам смог увидеть и понять - это в самом начале когда идут подряд сразу два цикла и с первого ничего никуда не считывается.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,405
20.06.2013, 18:12     Составить блоксхему #6
Син, вот пример оформления вложенных циклов
Составить блоксхему
Вывод на экран оформлен не в том элементе, на это не смотрите.
Син
1 / 1 / 0
Регистрация: 24.05.2012
Сообщений: 24
20.06.2013, 19:03  [ТС]     Составить блоксхему #7
Спасибо! Я бы и за неделю до такой схемы не додумался.

А куда ведет стрелка с узлом 3?

Добавлено через 33 минуты
Какой то части не хватает или я чего-то не понимаю?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,405
20.06.2013, 19:07     Составить блоксхему #8
Син, это всего-лишь часть диаграммы данной для примера.
Если так интересно продолжение, то вот:
Составить блоксхему
Син
1 / 1 / 0
Регистрация: 24.05.2012
Сообщений: 24
25.06.2013, 23:51  [ТС]     Составить блоксхему #9
Все таки я полный дуб в программировании. Опять все неправильно. Я уже не представляю чего препод от меня хочет. То ему не так, это неправильно, тут переделай обратно. Жесть.
Yandex
Объявления
25.06.2013, 23:51     Составить блоксхему
Ответ Создать тему
Опции темы

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