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

Задача моя решена, однако необходимо изменить. нуждаюсь в подсказке - C++

Восстановить пароль Регистрация
 
kaztennis
3 / 3 / 0
Регистрация: 28.09.2013
Сообщений: 93
06.10.2013, 16:34     Задача моя решена, однако необходимо изменить. нуждаюсь в подсказке #1
Всем привет. вобщем задача моя такова , что я задал готовое количтесов элементов в матрицу и в вктеор, а программа умножает ее. сами задаем количество элементов, а программа в случайном образе выдает нам эти элменты и умножает. моя задача, изменить программу, убрав датчик случайного подбора Random и сделать так чтоб каждый элемент выбирали сами мы,.. спасибо)
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 <stdafx.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
 
// Функция для опредления элементов матрицы и вектора
void DummyDataInitialization (double* pMatrix, double* pVector, int Size) {
int i, j; // задаем переменные
for (i=0; i<Size; i++) {
pVector[i] = 1;
for (j=0; j<Size; j++)
pMatrix[i*Size+j] = i;
}
}
// Функция для случайного определения элементов матрицы и вектора
void RandomDataInitialization(double* pMatrix, double* pVector, int Size) {
int i, j; // задаем переменные
srand(unsigned(clock()));
for (i=0; i<Size; i++) {
pVector[i] = rand()/double(1000);
for (j=0; j<Size; j++)
pMatrix[i*Size+j] = rand()/double(1000); }
}
// Функция для заполнения и определения элементов обьекта
void ProcessInitialization (double* &pMatrix, double* &pVector,
double* &pResult, int &Size) {
// размер созданной матрицы и вектора определяется:
do {
printf("\n Vvedite razmer sozdannogo objekta: ");
scanf("%d", &Size);
printf("\n Vvedite razmer objecta = %d\n", Size);
if (Size <= 0)
printf("\n Razmer objecta doljen byt` bolshe 0!\n");
}
while (Size <= 0);
// Распределение памяти
pMatrix = new double [Size*Size];
pVector = new double [Size];
pResult = new double [Size];
// Определение матрицы и элементов вектора
DummyDataInitialization(pMatrix, pVector, Size);
}
// Функция для форматирования выведенной матрицы
void PrintMatrix (double* pMatrix, int RowCount, int ColCount) {
int i, j; // задаем переменные
for (i=0; i<RowCount; i++) {
for (j=0; j<ColCount; j++)
printf("%7.4f ", pMatrix[i*RowCount+j]);
printf("\n");
}
}
// Функция для форматирования выведенного вектора
void PrintVector (double* pVector, int Size) {
int i;
for (i=0; i<Size; i++)
printf("%7.4f ", pVector[i]);
}
// Функция для матричо-векторного умножения
void ResultCalculation(double* pMatrix, double* pVector, double* pResult,
int Size) {
int i, j; // задаем переменные
for (i=0; i<Size; i++) {
pResult[i] = 0;
for (j=0; j<Size; j++)
pResult[i] += pMatrix[i*Size+j]*pVector[j];
}
}
// Функция для завершения процесса
void ProcessTermination(double* pMatrix,double* pVector,double* pResult) {
delete [] pMatrix;
delete [] pVector;
delete [] pResult;
}
 
void main() {
double* pMatrix; // Первый аргумент - созданная матрица
double* pVector; // Второй аргумент - созданный вектор
double* pResult; // Результат векторно-матричного умножения
int Size; // Размер созданных матрицы и вектора
time_t start, finish;
double duration;
printf("Series matrix-vector program \n");
// Распределение памяти и определение элементов обьекта
ProcessInitialization(pMatrix, pVector, pResult, Size);
// Вывод матрицы и вектора
printf ("sozdannaya matrica \n");
PrintMatrix(pMatrix, Size, Size);
printf("sozdannyi vector \n");
PrintVector(pVector, Size);
// Матрично-векторное умножение
start = clock();
ResultCalculation(pMatrix, pVector, pResult, Size);
finish = clock();
duration = (finish-start)/double(CLOCKS_PER_SEC);
// Выведение результата вектора
printf ("\n rezultat vectora: \n");
PrintVector(pResult, Size);
// Время потраченное на матрично-векторное умножение
printf("\n Time of execution: %f\n", duration);
// Завершение процесса
ProcessTermination(pMatrix, pVector, pResult);
getch();
 
}
заранее спасибо))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2013, 16:34     Задача моя решена, однако необходимо изменить. нуждаюсь в подсказке
Посмотрите здесь:

C++ Необходимо изменить программу в C++
Моя первая задача, ток с паскаля перешел, подкоректируйте плиз.. C++
C++ Решение СЛАУ методом простых итераций, задача решена, только написать код осталось
Компьютер угадывает число. Задача решена, как считаете? (вектор и цикл) C++
необходимо изменить программу C++
Задача на Timus Online Judge, C++. Решена, но C++
Изменить программу, чтобы там вместо dir была какая-то моя команда, и выводила слова песни или речевки C++
C++ Элементы заданного массива расположить в обратном порядке. Правильно ли решена задача?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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