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

порграмма перемножения матриц - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ программа сортировки методом пузырька http://www.cyberforum.ru/cpp-beginners/thread40529.html
Доброго времени суток! Прошу помощи в написании программы с требованиями: •Входные данные – текстовый файл. •Выходные данные – текстовый файл, содержащий в качестве строк отсортированные слова входного файла. •Предусмотрен выбор вариантов сортировки (по убыванию/ по возрастанию). Кое-что кое-как сделал, при компиляции выдает кучу ошибок, как исправить их не пойму. Компилятор Visual с++...
C++ программку не для новичков Обучаюсь на первом курсе. Пытался решить но безуспешно. :wall:Мне бы образец решения. Заранее благодарю! http://www.cyberforum.ru/cpp-beginners/thread40526.html
C++ ошибки которых на самом деле нет
possible use of идентификатор before diffinotion(С++) у меня в компиляторе возникает такое предупреждение, хотя все переменные объявлены ВО ВРЕМЯ. это происходит на компиляторе Borland 3.01 на borland 3.11 все идет нормально. хотелось бы узнать почему....код выложить на вряд ли смогу, он на 2500 строк.
Сортировка массива. C++
Имеется одномерный массив длиной n. Упорядочить массив методом выбора таким образом, чтобы элементы, находящиеся на четных позициях располагались по убыванию, а на нечетных позициях – по возрастанию. Я так думаю, что надо сначала отсортировать методом выбора, а затем показать четные и нечетные индексы. Как это сделать? const int n = 10; int a = {9, 6, 1, 16, 11, 14, 3, 19, 7, 4}; ...
C++ Как открыть два файла для записи? http://www.cyberforum.ru/cpp-beginners/thread40496.html
Здравствуйте, есть следующий код #include <iostream> #include <fstream> using namespace std; int main() { int accountNum; // номер счета char name; // имя клиента
C++ Общий вопрос по кодировке программ под Windows Помогаю с переводом одной англоязычной программы (она на C++, но не уверен имеет ли это значение) на русский. От разработчика этой программы приходит письмо примерно след. содержания: "Объекты, создаваемые нашей программой требуют использовать ISO-8859-5 (Кириллица), а в русских Виндах используется 1251. Мы можем конвертировать программу в 1251, но тогда получится, что все объекты созданные... подробнее

Показать сообщение отдельно
nix2085
0 / 0 / 0
Регистрация: 27.05.2009
Сообщений: 10
16.06.2009, 15:07     порграмма перемножения матриц
Доброго времени суток!
Прошу помощи в написании программы с требованиями:
Входные данные – текстовый файл.
реализовать генерацию данных случайным образом;
включить в функциональность программы оценку времени выполнения алгоритма;
оценить время работы алгоритма для матриц размерностей от 5 до 100 (верхний предел может быть больше), результаты измерений записать в файл; при этом время теста должно быть соизмеримо со временем принятия лабораторной работы;
на основании данных теста из файла вывести график зависимости времени работы программы от размерности матрицы (на паскале один раз писал простенькую программку по преобразованию геометрических фигур, но как в си с графикой работать не знаю)

Программа с ошибками
Компилятор Visual с++ 2008.
Вот код:
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
// MATRIX.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
 
#define PRINT(z) cout<<#z
 
using namespace std;
 
//=================описание функций==============================
//-----------------проиизведение матриц--------------------------
void Proizv (int **mas1,int **mas2,int x1,int y1,int y2)
{
    int **mas3;
    int i,j,k;
    mas3=(int **)malloc(sizeof(int *)*y2);
    for(i=0; i<y2; i++)
        mas3[i] = (int*)malloc(sizeof(int)*x1);
    
    for(i=0; i < x1; i++)
        for(j=0; j < y2; j++)
            mas3[i][j]=0; 
    
    for (i=0; i < x1; i++)
        for (j=0; j < y2; j++)
            for (k=0;k < y1; k++)
                mas3[i][j]+=mas1[i][k]*mas2[k][j];
    
    cout<<"Proizvedenie matriz = \n\n\n";
    
    for(i=0; i < x1; i++)
        {
            for(j=0; j < y2; j++)
                {    
                    printf("%d ",mas3[i][j]);
                }
            cout<<"\n";
        }
free(mas3);
}
 
//------------- гененратор случайных значений---------------
void generate(int &x, int &y)
{
    int i,j;
    int g=x*y;  //число элементов матрицы
 
    int digits =(int **)malloc(sizeof(int*)*y);
    for(i=0; i <x; i++)
        digits =(int*)malloc(sizeof(int)*x);
    
    for(i=0; i<x; i++)
    //int f=0;
    srand(time(0));         // генератор чисел
    for(i=0; i<x; i++)
        for(j=0; j<y; j++)
                digits[i][j] = rand() % 99;
    return digits[i][j];
}
 
//---------------------------------
 
 
 
 
int main()
 
{
    int i,j,x1,x2,y1,y2;
    int **mas1;
    int **mas2;
    cout<<"Vvedite kol-vo strok matrix 1\n";
    cin>>x1;
    cout<<"Vvedite kol-vo stolbcov matrix 1\n";
    cin>>y1;
 
    generate(x1, y1);
 
    cout<<"Vvedite kol-vo strok matrix 2\n";
    cin>>x2;
    cout<<"Vvedite kol-vo stobcov matrix 2\n";
    cin>>y2;
 
    generate(x2, y2);
    
    if(y1 != x2)    // проверка масивов
    {
        cout<<"Oshibka!!!\n";
        exit(-1);
    }
 
 
   
    _getch();
    return(0);
}
заранее спасибо за помощь
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru