Skocz do zawartości
Margal

Błąd w programie C++

Rekomendowane odpowiedzi

#include <iostream>using namespace std;int n;int t[10];bool c(int l){    int s=10; n=1; for(int i=0;i<10;i++) t[i]=0;    while(l>=s) {s=s*10; n++;}    for(int i=0;i<n;i++){t[i]=(l%s)/(s/10); s=s/10;}    for(int i=0;i<(n/2);i++) {if(t[i]==t[n-1-i]) return true;}    return false;}    int main(){    int t; cin >> t; for(;t;t--)    {        int l; cin >> l; int i=0; for(;c(l);i++)        {            int t1[10]; for(int j=0;j<10;i++) {t1[j]=0;}/*!!!!*/    for(int j=0;j<n;j++) t1[n-1-j]=t[j];            int s=10; for(int j=1;j<n;j++) s=s*10;            for(int j=0;j<n;j++) {l=l+s*t1[j]; s=s/10;}        }                cout << l << " " << i << "\n";    }        return 0;}

I za nic nie mogę dotrzeć, czemu wyskakuje mi line 23 invalid types `int[int]' for array subscript przy próbie kompilacji! (linia 23 to ta poprzedzona wykrzyknikami)

Będę bardzo wdzięczny, jak ktoś powie, o co chodzi.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Błąd jest tzw. czeski ;) Pozwoliłem sobie przerobić co nieco

 

#include <iostream>using namespace std;int n;int t[10];int c(int l) {	int s = 10, i;	n = 1;	for(i = 0; i < 10; i++) 		t[i] = 0;	while(l >= s) {		s *= 10;		n++;	}	for(i = 0; i < n; i++) {		t[i] = (l % s) / (s / 10);		s /= 10;	}	for(i = 0; i < (n / 2); i++)		if(t[i] == t[n - 1 - i])			return 1;	return 0;}    int main() {	int t2, j, s, l, i;	int t1[10];		cin >> t2;	for(; t2; t2--) {		cin >> l;		i = 0;		for(; c(l); i++) {			for(j = 0; j < 10; i++) 				t1[j] = 0;			for(j = 0; j < n; j++)				t1[n - 1 - j] = t[j];			s = 10;			for(j = 1; j < n; j++) 				s *= 10;                        for(j = 0; j < n; j++) {				l += s * t1[j];				s /= 10;			}		}	cout << l << " " << i << "\n";	}    return 0;}

BTW, co oblicza ten progs?

Edytowane przez kfgz

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

n to jakaś tam liczba, zawsze większa od 1, a konkretniej ilość cyfr, z jakich składa się l. Coś w tym złego?

 

Nic złego, tylko w main() ona nie ma wartości..

Edytowane przez stivo

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...