Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 02.09.2015
Сообщений: 75

Как вывести переменную, объявленную в конце программы, в начале?

24.10.2017, 19:35. Показов 807. Ответов 1

Студворк — интернет-сервис помощи студентам
Надо вывести на экран несколько массивов. При этом первые 3 считаются в начале программы, а 4-ый - в конце. А вывести его надо рядом, а не ниже.

Четвёртый должен быть рядом с тремя. А то как-то некрасиво. Но дело в том, что первые три - локальные.

Текст программы:
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream>
#include <fstream>
#include <math.h>
#include <stdlib.h>
#include <iomanip>
using namespace std;
struct O {
    int nomer_prod;
    int nomer_exp;
    int ocenka;
};
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int const size = 7;
    int k[size][size];
    for (int i = 0; i < size; i++)
        for (int j = 0; j < size; j++)
        {
            k[i][j] = 0;
        }
 
    O O[size];
    ifstream f("baza.txt");
    for (int i = 0; i < size; i++)
    {
        f >> O[i].nomer_prod;
        cout << " " << O[i].nomer_prod << " ";
        static int summa;
        summa = 0;
        int Y[5];
        static int summa2;
        summa2 = 0;
        for (int j = 0; j < 5; j++)
        {
            f >> O[j].nomer_exp >> O[j].ocenka;
            //cout << "Номер эксперта: " << O[j].nomer_exp << " " << "Место: " << O[j].ocenka << " " << endl;
            summa = summa + O[j].ocenka;
        }
 
        for (int j = 0; j < 5; j++)
        {
            if (O[j].ocenka == 7) { Y[j] = 0; }
            else if (O[j].ocenka == 6) { Y[j] = 1; }
            else if (O[j].ocenka == 5) { Y[j] = 2; }
            else if (O[j].ocenka == 4) { Y[j] = 3; }
            else if (O[j].ocenka == 3) { Y[j] = 4; }
            else if (O[j].ocenka == 2) { Y[j] = 5; }
            else if (O[j].ocenka == 1) { Y[j] = 6; }
            summa2 = summa2 + Y[j];
        }
 
        cout << " " << summa << " " << " " << summa2 << " " << endl;
 
        for (int m = 0; m<size; m++)
            for (int n = 0; n<size; n++)
            {
                if (O[m].ocenka < O[n].ocenka)
                {
                    k[m][n]++;
                }
                //cout << k[m][n] << endl;
            }
        
        
        for (int m = 0; m<size; m++)
            for (int n = 0; n < size; n++)
                    {
                        if (k[m][n] >= k[n][m])
                        {
                            k[m][n] = 1;
                        }
                        else
                        {
                            k[m][n] = 0;
                        }
                    }
    }
 
    //for (int m = 0; m < size; m++)
    //for (int n = 0; n < size; n++)
    //cout << "Продукт " << m << " лучше продукта " << n << ": " << k[m][n] << endl;
    //cout << endl;
 
    static int sum[size];
    for (int i = 0; i < size; i++)
        sum[i] = 0;
 
    for (int j = 0; j < size; j++)
    {
        for (int i = 0; i < size; i++)
        {
            sum[j] += k[j][i];
        }
    }
    for (int j = 0; j < size; j++)
    {
        cout << sum[j] << endl;
    }
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.10.2017, 19:35
Ответы с готовыми решениями:

Как поместить в объявленную память переменную класса?
Вот, например, создал я массив class_name *array = new class_name ; Как я могу теперь засунуть в массив какие-нибудь переменные класса,...

Как обнулить переменную, объявленную в другой форме
Добрый вечер.У меня есть две формы.На первой есть множество э/у и переменная.На второй форме есть только кнопка.Скажите как сделать,чтобы...

Как использовать переменную, объявленную в другом файле проекта?
Есть файл proj1-1.pas uses proj1-2 var a,b : integer; begin a:=3; b:=75; ... end. Как использовать эти переменные в...

1
 Аватар для Herji
299 / 208 / 174
Регистрация: 11.05.2016
Сообщений: 655
24.10.2017, 21:21
Простейший выход:
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <iostream>
#include <fstream>
#include <math.h>
#include <stdlib.h>
#include <iomanip>
using namespace std;
struct O {
    int nomer_prod;
    int nomer_exp;
    int ocenka;
};
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int const size = 7;
    int k[size][size];
    for (int i = 0; i < size; i++)
        for (int j = 0; j < size; j++)
        {
            k[i][j] = 0;
        }
 
    int temp_arr[size][2];
 
    O O[size];
    ifstream f("baza.txt");
    for (int i = 0; i < size; i++)
    {
        f >> O[i].nomer_prod;
        //cout << " " << O[i].nomer_prod << " ";
        static int summa;
        summa = 0;
        int Y[5];
        static int summa2;
        summa2 = 0;
        for (int j = 0; j < 5; j++)
        {
            f >> O[j].nomer_exp >> O[j].ocenka;
            //cout << "Номер эксперта: " << O[j].nomer_exp << " " << "Место: " << O[j].ocenka << " " << endl;
            summa = summa + O[j].ocenka;
        }
 
        for (int j = 0; j < 5; j++)
        {
            Y[j] = abs(O[j].ocenka -7);
           
            summa2 = summa2 + Y[j];
        }
 
        temp_arr[i][0] = summa;
        temp_arr[i][1] = summa2;
 //       cout << " " << summa << " " << " " << summa2 << " " << endl;
 
        for (int m = 0; m<size; m++)
            for (int n = 0; n<size; n++)
            {
                if (O[m].ocenka < O[n].ocenka)
                {
                    k[m][n]++;
                }
                //cout << k[m][n] << endl;
            }
        
        
        for (int m = 0; m<size; m++)
            for (int n = 0; n < size; n++)
                    {
                        if (k[m][n] >= k[n][m])
                        {
                            k[m][n] = 1;
                        }
                        else
                        {
                            k[m][n] = 0;
                        }
                    }
    }
 
    //for (int m = 0; m < size; m++)
    //for (int n = 0; n < size; n++)
    //cout << "Продукт " << m << " лучше продукта " << n << ": " << k[m][n] << endl;
    //cout << endl;
 
    static int sum[size];
    for (int i = 0; i < size; i++)
        sum[i] = 0;
 
    for (int j = 0; j < size; j++)
    {
        for (int i = 0; i < size; i++)
        {
            sum[j] += k[j][i];
        }
    }
    for (int j = 0; j < size; j++)
    {
        cout << " " << O[j].nomer_prod << " ";
        cout << " " << temp_arr[j][0] << "   " << temp_arr[j][1] << " " ;
        cout << sum[j] << endl;
    }
 
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.10.2017, 21:21
Помогаю со студенческими работами здесь

Нужно найти строки, в которых стоят две В в начале или в конце(вывести YES); и строки, где в середине идет подряд три В(вывести NO)
Дано некоторое количество строк с символами А и В. Нужно найти строки, в которых стоят две В в начале или в конце(вывести YES); и строки,...

Как обрезать пробелы в начале и в конце строки?
Как обрезать любое количество пробелов в начале и в конце строки, если они там есть? И вернуть ту же строку без пробелов. Например: было...

Как удалить символы в начале и в конце строк?
Здравствуйте всем,у меня проблема,помогите её решить пожалуйста.Делаю программу,которая должна удалять пустые строки,но с этим...

Как запретить точку в начале, в конце и более одной ?
Здравствуйте Как запретить точку &quot;.&quot; в начале строки, запретить точку &quot;.&quot; в конце строки и запретить более одной точки &quot;.&quot; во...

Как убрать все пробелы в начале и конце строки ?
У меня есть файл там хранится такая матрица ) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru