↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи

Теmр

Автор, Переводчик, Редактор

Фанфики

31 произведение» 
G+G
Фемслэш, Миди, Заморожен
14k 43 475 1
1+1
Гет, Макси, Заморожен
217k 760 3.1k 8
Незачёт, мисс Грейнджер!
Гет, Миди, Закончен
52k 72 2k 1
Против течения
Гет, Мини, Закончен
2.6k 26 63 3

Редактура

1 произведение» 
План Мародера
Джен, Макси, Заморожен
1.17M 1.2k 7.1k 20

Награды

37 наград» 
11 лет на сайте 11 лет на сайте
27 апреля 2024
10 лет на сайте 10 лет на сайте
27 апреля 2023
9 лет на сайте 9 лет на сайте
27 апреля 2022
8 лет на сайте 8 лет на сайте
27 апреля 2021
1 макси 1 макси
6 февраля 2021

Блог » Поиск

До даты
#нужна_помощь #программерское #студенческое

Товарищи, кто шарит в VS С/С++?

Есть прога (проще не бывает) на перемножение двух матриц в шести разных вариантах с перестановкой по циклам. Компилится успешно в VS2010, VS2012 и VS2015, но "break"ается :( Рассчёты проводит, результаты выводит, но в конце что-то лично мне не совсем ясное происходит и не завершается должным образом, хотя выход осуществляется без ошибки.

У кого есть VS на С/С++ на компе, выручите, создайте консольку, загоните туда этот код: http://pastebin.com/uuk5MWEK
#include <iostream>
#include <clocale>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctime>

using namespace std;
double**create (int n)
{
double **matr;
matr = new double *n;
for (int i=0; i<n; i++) matr[i]=new double n;
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
matr[i][j]=rand()%5;
return matr;
}

int main()
{
setlocale(LC_CTYPE,"rus");
double **a;
double **b;
double **c;
int n,i,j,k;
double start_time, end_time, search_time;
cout<<"Введите размерность матриц"<<endl;
cin>>n;
a=create(n);
b=create(n);
c=new double*n;
for (i=0;i<n;i++)
c[i]=new doublen;

//i j k

for (i=0;i<n;i++)
for (j=0;j<n;j++)
c[i][j]=0;
printf("i j k ");
start_time=clock();
for (i=0;i<n;i++)
for (j=0;j<n;j++)
for (k=0;k<n;k++)
c[i][j]=+a[i][k]*b[k][j];
end_time=clock();
search_time=(end_time - start_time)/1000;
printf("%8.3f",search_time);
printf("n");

//i k j

for (i=0;i<n;i++)
for (j=0;j<n;j++)
c[i][j]=0;
printf("i k j ");
start_time=clock();
for (i=0;i<n;i++)
for (k=0;k<n;k++)
for (j=0;j<n;j++)
c[i][j]=+a[i][k]*b[k][j];
end_time=clock();
search_time=(end_time - start_time)/1000;
printf("%8.3f",search_time);
printf("n");

//j i k

for (i=0;i<n;i++)
for (j=0;j<n;j++)
c[i][j]=0;
printf("j i k ");
start_time=clock();
for (j=0;j<n;j++)
for (i=0;i<n;i++)
for (k=0;k<n;k++)
c[i][j]=+a[i][k]*b[k][j];
end_time=clock();
search_time=(end_time - start_time)/1000;
printf("%8.3f",search_time);
printf("n");

//j k i

for (i=0;i<n;i++)
for (j=0;j<n;j++)
c[i][j]=0;
printf("j k i ");
start_time=clock();
for (j=0;j<n;j++)
for (k=0;k<n;k++)
for (i=0;i<n;i++)
c[i][j]=+a[i][k]*b[k][j];
end_time=clock();
search_time=(end_time - start_time)/1000;
printf("%8.3f",search_time);
printf("n");

//k i j

for (i=0;i<n;i++)
for (j=0;j<n;j++)
c[i][j]=0;
printf("k i j ");
start_time=clock();
for (k=0;k<n;k++)
for (i=0;i<n;i++)
for (j=0;j<n;j++)
c[i][j]=+a[i][k]*b[k][j];
end_time=clock();
search_time=(end_time - start_time)/1000;
printf("%8.3f",search_time);
printf("n");

//k j i

for (i=0;i<n;i++)
for (j=0;j<n;j++)
c[i][j]=0;
printf("k j i ");
start_time=clock();
for (k=0;k<n;k++)
for (j=0;j<n;j++)
for (i=0;i<n;i++)
c[i][j]=+a[i][k]*b[k][j];
end_time=clock();
search_time=(end_time - start_time)/1000;
printf("%8.3f",search_time);
printf("n");

for (i=0;i<n;i++)
{delete [] a[i];
delete[] b[i];
delete[] c[i];}
delete [] a;
delete[] b;
delete[] c;
system("pause");
return(0);
}

И скажите мне "break"ается или нет?

В окне сообщений у меня выходит проблемы с *.dll файлами, что это и как это решить - я пока хз.
Свернуть сообщение
Показать полностью
Показать 20 комментариев из 31
ПОИСК
ФАНФИКОВ









Закрыть
Закрыть
Закрыть