Dlaczego te programy nie dzialaja?

0

Otoz mam problem z napisaniem dwoch programow. Nie bede przytaczal tresci poniewaz mam nadzieje, ze zorientujecie sie po kodzie o co chodzi.
1.

#include <iostream.h>
#include <fstream.h>

#define INFILE "C:\dane.txt"
#define OUTFILE "C:\tekst.txt"

int main()
{
ifstream ifs;
ofstream ofs;
int a, b, wynik;
ifs.open(INFILE, ios::in);
if (!ifs)
{
cout << "Nie odnaleziono pliku: " << INFILE << endl;
return 1;
}
ofs.open(OUTFILE, ios::out);
while ((ifs >> a) && (ifs >> b))
{
cout << a << " * " << b << " = ?" << endl;
cin >> wynik;
ofs << a * b << ": Podałeś " << (wynik == a * b ? "dobry" : "zły")
<< " wynik." << endl;
}
ifs.close();
ofs.close();
return 0;

void sortuj(int tab[], int rozmiar)
{
bool jeszcze = true;
for (int a = 0; (a < rozmiar - 1) && jeszcze; a++)
{
jeszcze = false;
for (int b = 0; b < rozmiar - a - 1; b++)
if (tab[b] > tab[b+1])
{
zamien(tab[b], tab[b+1]);
jeszcze = true;
}
}
}

//funkcja zamieniająca zmienne
void zamien(int &a, int $b)
{
int temp = a;
a = b;
b = temp;
}

Prosze o poprawienie i napisanie calych gotowych programow. Srodowisko w jakim pracuje to Visual C++.
Za wszelkie info z gory serdeczne dzieki.

0

Co do 2. to ja bym raczej z czymś taki kombinował:

 
void Zamien(int &a, int &b)
{
int tmp = a;
a = b;
b = tmp;
}
void Sortuj(int (&tab)[], int rozmiar)
{
bool jeszcze = true;
for(;jeszcze==true;)
{
jeszcze = false;
for(int i=0; (i<rozmiar-1); i++)
    {
    if(tab[i]>tab[i+1])
        {
        Zamien(tab[i],tab[i+1]);
        jeszcze = true;
        }
    }
}
}

PS> trochę ci zmieniłem sortowanie bąbelkowe, ale to dlatego, że nie chciało mi się tu wchodzić kiedy kod pisałem. Zmień sobie wnętrze funkcji Sortuj na swoją, jeśli chcesz...

<font color="blue">[</span><font color="red">ADD</span><font color="blue">]</span>
Aha... jeszcze jedno... wywołanie tego mogłoby wyglądać np. tak:

Sortuj(&tab,20);

1 użytkowników online, w tym zalogowanych: 0, gości: 1