Margal Opublikowano 12 Września 2010 Zgłoś Opublikowano 12 Września 2010 #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. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Trawienny Opublikowano 13 Września 2010 Zgłoś Opublikowano 13 Września 2010 Podpowiedz: a jaki jest warunek zakonczenia petli? jest "j<n" - ale ile wynosi n? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Margal Opublikowano 13 Września 2010 Zgłoś Opublikowano 13 Września 2010 Podpowiedz: a jaki jest warunek zakonczenia petli? jest "j<n" - ale ile wynosi n? 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? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
kfgz Opublikowano 13 Września 2010 Zgłoś Opublikowano 13 Września 2010 (edytowane) 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 13 Września 2010 przez kfgz Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
stivo Opublikowano 13 Września 2010 Zgłoś Opublikowano 13 Września 2010 (edytowane) 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 13 Września 2010 przez stivo Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
kfgz Opublikowano 13 Września 2010 Zgłoś Opublikowano 13 Września 2010 (edytowane) Nic złego, tylko w main() ona nie ma wartości.. Ma wartość - jest ona obliczana przez funkcję c(). Edytowane 13 Września 2010 przez kfgz Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
stivo Opublikowano 13 Września 2010 Zgłoś Opublikowano 13 Września 2010 Serio? Tylko funkcja c() nie zwraca jej wartości do rodzica wywołującego.. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
kfgz Opublikowano 13 Września 2010 Zgłoś Opublikowano 13 Września 2010 Serio? Tylko funkcja c() nie zwraca jej wartości do rodzica wywołującego.. Ale co ma zwracać skoro n jest zmienną globalną. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
stivo Opublikowano 14 Września 2010 Zgłoś Opublikowano 14 Września 2010 (edytowane) OK, niech będzie.. W sumie mój błąd. BTW. Margal nie oszczędzaj na linijkach, jeśli potem masz to komuś pokazać. Nawet tu na forum. Edytowane 14 Września 2010 przez stivo Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Margal Opublikowano 16 Września 2010 Zgłoś Opublikowano 16 Września 2010 Dziękuję. Po naniesieniu przeze mnie jeszcze kolejnych poprawek program działał tak: POLSKI SPOJ - Problem BFN1: test your programming skills on-line Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...