#include<fstream.h>
int n,xi,minX;
float *B,**D;
unsigned char *A,*C;
void main()
{
ifstream fin("deikstra.dat");
ofstream fout("deikstra.sol");
fin>>n>>xi; xi--;
D=new float*[n];
for(int i=0;i<n;i++)
{
D=new float[n];
for(int j=0;j<n;j++)
fin>>D[j];
}
fin.close();
A=new unsigned char[n];
B=new float[n];
C=new unsigned char[n];
for(i=0;i<n;i++)
{
A=0;
B=D[xi];
C=xi;//Conversion may lose significant digits
}
C[xi]=-1; A[xi]=1;
for(int k=1;k<n;k++)
{
for(i=0;i<n;i++)
if(B>0 && A!=1)
{minX=i; break;}
for(i=i+1;i<n;i++)
if(A==0 && B>0)
if(B<B[minX])
minX=i;
A[minX]=1;
C[minX]=xi;//Conversion may lose significant digits
for(i=0;i<n;i++)
if(A==0 && xi!=i && B>B[xi]+D[xi])
{B=B[xi]+D[xi]; C=xi;//Conversion may lose significant digits
}
fout<<k<<endl;
fout<<"min="<<B[minX]<<" minX="<<minX<<endl;
for(i=0;i<n;i++) fout<<int(A)<<" ";
fout<<endl;
for(i=0;i<n;i++) fout<<B<<" ";
fout<<endl;
for(i=0;i<n;i++) fout<<int(C)<<" ";
fout<<endl<<endl;
xi=minX;
/* fout<<k<<endl;
for(i=0;i<n;i++) fout<<A<<" ";
fout<<endl;
for(i=0;i<n;i++) fout<<B<<" ";
fout<<endl;
for(i=0;i<n;i++) fout<<C+1<<" ";
fout<<endl<<endl;*/
}
for(i=0;i<n;i++) fout<<C+1<<" ";//Ambiguous operatosrs need parentheses
for(i=0;i<n;i++) { delete[] D; D=NULL;}
delete[] D; delete[] A; delete[] B; delete[] C;
A=C=NULL; B=NULL; D=NULL;
fout.close();
}
ошибка в коде
Не мойму че за ошибка:в комментариях вывел ошибки в данной строке
Код:
C=xi;//Conversion may lose significant digits
Попытка в unsigned char (1 байт) запихнуть int (4 байта)
Код:
fout<<C+1<<" ";//Ambiguous operatosrs need parentheses
Здесь попробуй написать:
Код:
fout<<(C+1)<<" ";//Ambiguous operatosrs need parentheses
Код:
.........
#include <string.h>
void main()
{ ifstream inClientFile;
inClientFile.open("D:\\KS-05-3\\My program\\slovar.txt", ios::in);
if (inClientFile.fail())
{
cerr << "File could not be open"<<endl;
getch();
exit(1);
}
char str[80];
char ch;
do{
inClientFile>>str;
if(str[0]==ch)
cout<<str<<' '<<endl;
}
while(! inClientFile.eof () );
cout<<"Vvedite na4alo slova"<<endl;
cin>>ch;
cout<<"Takie slova:\n"<<str;
getch();
}
#include <string.h>
void main()
{ ifstream inClientFile;
inClientFile.open("D:\\KS-05-3\\My program\\slovar.txt", ios::in);
if (inClientFile.fail())
{
cerr << "File could not be open"<<endl;
getch();
exit(1);
}
char str[80];
char ch;
do{
inClientFile>>str;
if(str[0]==ch)
cout<<str<<' '<<endl;
}
while(! inClientFile.eof () );
cout<<"Vvedite na4alo slova"<<endl;
cin>>ch;
cout<<"Takie slova:\n"<<str;
getch();
}
Код:
B=D[xi];
посмотрите пожалуста, а то надо сдать её завтра!
Код:
cout<<"Takie slova:\n"<<str;
написал?
[COLOR=red]перестань создавать новые темы и замусоривать форум. я тебе не нанималась вроде постоянно темы объединять. кому вообще нужны твои новые темы? ты же создал топик связанный с твоим заданием по которому спрашиваешь, его и продолжай. ещё раз повторишь - забаню.[/COLOR]
Извени, больше не буду обещаю!!!:)