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

Как реализовать ручной инпут?(Воид функции)

14.06.2016, 19:07. Просмотров 245. Ответов 2
Метки нет (Все метки)

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

Оригинально задание сделано для выполнения на Делфи и звучит так:

Используя процедуры составить программу для выполнения задания:

Дана матрица А{i,j}, где i,j = 1, 2, 3... n. Создать программу формирования вектора B = (b1, b2, b3 ... bn), элементы которого являются суммой минусовых или нулевых элементов столбцов матрицы.
Исходные данные ввести с клавиатуры: n = 5 (и в задании даны различные числа матрицы).

Название: ae8668a3c0.png
Просмотров: 12

Размер: 1.2 Кб - вот формула, если объяснение не совсем явное.

Я сделал без ручного ввода, т.к. появляется сложность с передачей аргументов функции в основную программу, потому-что (как говорит Visual Studio) n здесь должно быть константой(что само-собой исключает ручной ввод).

Заранее благодарю за помощь.
Код:

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
#include <iostream>
 
using namespace std;
 
const int n = 5;
 
void negatives_sum(int *output, int matrix[][n])
{
    for (int col = 0; col < n; col++) {
        int sum = 0;
        for (int row = 0; row < n; row++) {
            if (matrix[row][col] <= 0)
                sum += matrix[row][col];
        }
        output[col] = sum;
    }
}
 
int main()
{
 
setlocale(0, "");
 
int matrix[n][n];
int output[n];
 
for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++) {
        cout << "matrix[" << i + 1 << "," << j + 1 << "] = ";
        cin >> matrix[i][j];
}
 
for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
        cout << matrix[i][j] << " ";
    }
    cout << endl;
}
 
negatives_sum(output, matrix);
cout << endl;
 
for (int i = 0; i < n; i++)
    cout <<  output[i] << " ";
 
cout << endl;
system("pause");
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2016, 19:07
Ответы с готовыми решениями:

Как передать значение переменной из функции инт в функцию воид?
Как передать значения а и b из int start(void) в void inputfile(void), чтоб строка 34 и т.д....

Как вызвать воид из другого .cpp
Имеется проект дллки, в нем много разных файлов, в одном из них подключается конфиг файл и...

Как реализовать ручной ввод массива на JavaScript
Желательно по анологии с этим примером double mas = new double; Console.WriteLine(&quot;Введіть...

Разыменовывание воид указателей, хранящихся в массиве
Всем привет. Ситуация такая. Мой компилятор умирает с segmentation fault когда я пытаюсь...

Как сделать смену текста на инпут
Нужно сделать так что бы при двойном нажатии на текст появлялся input для ввода данных

2
solar_wind
766 / 756 / 59
Регистрация: 06.07.2009
Сообщений: 3,007
Завершенные тесты: 1
15.06.2016, 06:07 2
Вся проблема в выделении памяти под массивы
C++
1
2
int matrix[n][n];
int output[n];
Лучше сделать так:
C++
1
2
3
int** matrix=new int*[n];
for(int i=0;i<n;i++) matrix[i]=new int[n];
int* output=new int[n];
Ну и в конце конечно через delete все удаляете
1
Kossi
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 2
15.06.2016, 13:13  [ТС] 3
Спасибо Вам большое, помогло!
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2016, 13:13

Как ограничить инпут пользователя через Scanner
Всё что мне нужно это ограничить инпут,чтобы пользователь не мог вводить цифры,знаки,а мог только...

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

Указатель на функцию, укзатель на воид и возвращаемое функцией значение
Есть функции, идентичные по функционалу, но возвращающие значения разных типов(сами значения не...


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

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

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