Witam,
Wszystko działa dobrze dopóki nie wstawię wypisania tablicy tabdwa[i] wtedy wypisuje mi tylko ostatni wiersz poprzedniej posortowanej tablicy.
Potrzebuję pomocy czy ktoś widzi gdzie tu jest błąd?
#include<conio.h>
#include<fstream>
#include<string>
#include<iostream>
#include<ostream>
#include<cstdlib>
#include<math.h>
using namespace std;
main()
{
int i,j;
string napis,tab[4],tabdwa[4];
ifstream wejdz("anagram1.txt");
ofstream wypisz("string.txt");
if(!wejdz)
{
cout << "nie mozna otworzyc pliku";
return 0;
}
while(!wejdz.eof())
{
j=0;
//getline(wejdz,napis);
wejdz >> tab[0];
for(i=1;i<=4;i++)
{
wejdz >> tab[i];
if (tab[0].length()==tab[i].length())
j++;
}
if(j==4)
{
for(i=0;i<=4;i++)
{
wypisz << tab[i] << " " ;
}
wypisz<< endl;
}
}
wejdz.close();
wypisz.close();
ifstream wejdz1("string.txt");
ofstream wyjdz("anagramy_b.txt");
if(!wejdz1)
{
cout << "Nie ma takiego pliku";
return 1;
}
int k,temp;
while(!wejdz1.eof())
{
for(i=0;i<=4;i++)
{
wejdz1 >> napis;
tabdwa[i] = napis;
for(j=0;j<napis.length()-1;j++)
{
for(k=0;k<napis.length()-1;k++)
if(int(napis[k])>int(napis[k+1]))
{
temp=napis[k];
napis[k]=napis[k+1];
napis[k+1]=temp;
}
}
tab[i]=napis;
}
k=0;
for(i=1;i<=4;i++)
{
if(tab[0]==tab[i])
k++;
}
if(k==4)
{
for(i=0;i<=4;i++)
wyjdz << tabdwa[i] << " ";
wyjdz << endl;
}
}
wejdz1.close();
wyjdz.close();
system("PAUSE");
return 0;
getche();
}