Tigr
5/10/2007 9:42:00 AM
Witam,
Zaczynam pisaa kolejny program, jednak co? takiego zdarzy3o mi sie po
raz pierwszy. Podczas pobierania elementów kopca w petli, pierwszy
element jest pomijany, tzn. nie dok3adnie bo pod adresem zmiennej
zamiast znaku ascii jest zapisywany znak przej?cia do nowej linii '\n'.
Kompiluje Borlandem 6.0 ale p[od g++ to samo. Dlaczego tak sie dzieje?
za3?czam kod na dowód. Bardzo prosze o wskazówki.
Pozdrawiam,
tc
#include <stdio.h>
class minHeap {
public:
minHeap(){};
long n, m;
char OP;
static long test;
};
long minHeap::test = 0;
int main()
{
scanf("%ld", &minHeap::test);
fprintf(stderr, "liczba testow: %ld\n", minHeap::test);
for(long i = 1; i <= minHeap::test; i++) {
minHeap *Heap = new minHeap;
scanf("%ld", &Heap->n);
fprintf(stderr, "liczba elementow kopca: %ld\n", Heap->n);
for (long j = 1; j <= Heap->n; j++) {
scanf("%c", &Heap->OP);
fprintf(stderr, "element: %c\n", Heap->OP);
}
scanf("%ld", &Heap->m);
fprintf(stderr, "liczba operacji na kopcu: %ld\n", Heap->m);
for (long k = 1; k <= Heap->m; k++) {
Heap->OP = getc(stdin);
fprintf(stderr, "operacja: %c\n", Heap->OP);
}
delete Heap;
}
getc(stdin);
return 0;
}