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

Пароль

 
Войти при помощи
Картинки ссылками
До даты

Все новые сообщения

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

Товарищи, кто шарит в 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

ПОИСК
ФАНФИКОВ









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