0 / 0 / 0
Регистрация: 30.03.2019
Сообщений: 13
1

Не понимаю как выполнить обработку

28.05.2019, 18:07. Показов 244. Ответов 0
Метки нет (Все метки)

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

не понимаю как сделать обработку, мне дана только 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
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#include "pch.h"
#include <iostream>  
#include <ctime>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    srand(time(NULL));
    int rows = 0; //строки массива
    int colons = 0;//столбики массива
 
    //проверка ввода размеров
    cout << "Введите размер таблицы" << endl;
    while (!(cin >> rows >> colons))
    {
        cin.clear();
        cin.ignore(cin.rdbuf()->in_avail());
        cout << "Не верный ввод!! Введите число : " << endl;
    }
 
    cout << "Введите 1 чтобы задать элементы таблицы случайно" << endl;
    cout << "Введите 2 чтобы задать элементы таблицы с клавиатуры" << endl;
    
 
    //проверка ввода меню
    int choies; //выбор первый
    while (true)
    {
        cin >> choies;
        if (choies == 1 || choies == 2)
        {
            break;
        }
        else
        {
            cout << "Не верный ввод!!" << endl;
        }
        cin.clear();
        cin.ignore(cin.rdbuf()->in_avail());
    }
    
 
    //создали двумерный массив
    int **arr = new int* [rows];
    
    //память для массива
    for ( int count = 0; count < rows; count++)
    {
        arr[count] = new int [colons];
    }
    //////////////////////////////////////////////////
 
    cout << endl; //можно заменить на syste("cls");
 
    //Сообщение для пользователя
    if(choies == 2)
    {
        cout << "заполните вашу таблицу " << rows << " на " << colons << endl;
        cout << endl;
    }
    if (choies == 1)
    {
        cout << "Ваша таблица " << rows << " на " << colons << " заполнена случайными числами"<< endl;
        cout << endl;
    }
 
    //заполнение массива
    for (int count = 0; count < rows; count++)
    {
        for (int count2 = 0; count2 < colons; count2++)
        {
            if (choies == 1)//если флаг выбора = 1 то бог рандома
            {
                arr[count][count2] = rand() % 200 - 100; //рандомные числа от -99 до 99
            }
            else //иначе пусть сам заполняет
            {
                //проверка ввода
                while (!(cin >> arr[count][count2]))
                {
                    cin.clear();
                    cin.ignore(cin.rdbuf()->in_avail());
                    cout << "Не верный ввод!! Введите число : " << endl;
                }
            }
        }
    }
 
    int i = 1; //истина для цикла ниже
    while (i == 1) // если пользователь очень хочет постоянно нажимать 1
    {
 
 
 
        choies = 0;//сбросили флаг выбора
        cout << "Введите 1 чтобы вывести вашу таблицу" << endl;
        cout << "Введите 2 чтобы вывести результат" << endl;
        
        //проверка ввода меню
        while (true)
        {
            cin >> choies;
            if (choies == 1 || choies == 2)
            {
                break;
            }
            else
            {
                cout << "Не верный ввод!!" << endl;
            }
            cin.clear();
            cin.ignore(cin.rdbuf()->in_avail());
        }
 
        cout << endl; //можно заменить на syste("cls");
 
        //Сообщение для пользователя
        if (choies == 2 || choies == 1)
        {
            cout << "Ваша таблица " << rows << " на " << colons << endl;
            cout << endl;
        }
 
 
        //обработка
        if (choies == 2)//
        {
            int sum = 0; // сумма столбца
            int max = 0; // максималочка
            int index = 0; // номер столбца
            for (int count = 0; count < colons; count++)
            {
                for (int count2 = 0; count2 < rows; count2++)
                {
                //сумма столбцов 
                }
            }
        }
 
        //Вывод массива
        for (int count = 0; count < rows; count++)
        {
            for (int count2 = 0; count2 < colons; count2++)
            {
                if (choies == 1)
                {
                    cout << arr[count][count2] << '\t';
                }
            }
            cout << endl;
        }
 
        if (choies == 2)// допустим пользователь устал нажимать 1
        {
            i = 0; // сбросили истину.
        }
 
    }// тут кончается странный while
 
 
    //////////////////////////////////////////////////
    //удалили двумерный массив
    for (int count = 0; count < rows; count++)
    {
        delete arr[count];
    }
    delete[] arr;
 
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2019, 18:07
Ответы с готовыми решениями:

Не понимаю как выполнить, что-то не так
Нужно добавить после каждого отрицательного элемента его модуль. Он начинает это делать, но размер...

Не понимаю как выполнить задание от преподователя
Здравствуйте, прошу вас помочь с заданием по информатике проходили удаление элементов из строки в...

Не понимаю как выполнить задачу без массивов
Строго возрастающая последовательность целых чисел поочерёдно вводится с клавиатуры. Разработать...

Ребят, не понимаю как выполнить задания в eclipse . очень нужно!
B1. Решение с использованием DO WHILE. B2. Решение с использованием WHILE Банк начисляет на...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2019, 18:07
Помогаю со студенческими работами здесь

Выполнить числовую обработку
Доброго времени суток! По логическому программированию задали 4 задания, а я не очень разобрался в...

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

Выполнить статистическую обработку сигналов
Здравствуйте. Нужно в Маткад из выборки сигналов поделить их в матрици по десять штук, а тогда...

Выполнить обработку массива записей
Задача. Программу оформить через меню. Определить эффективность алгоритма каждой...

Выполнить обработку массива используя указатели
Добрый вечер) Помогите пожалуйста Как должна выглядеть данная программа с указателями #include...

Выполнить обработку элементов прямоугольной матрицы
Выполнить обработку элементов прямоугольной матрицы А, имеющей N строк и М столбцов. Определить...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru