Titlul: Puțin ajutor (eroare) [rezolvat] Scris de: Robert Badea din Decembrie 24, 2010, 16:58:00 Am făcut acest algoritm banal ca să ma prind cum stă treaba cu A ? B : C. Însă când rulez programul am o eroare cum că folosesc variabila n, însă nu este inițializată, cu toate ca eu văd clar că este inițializată ca int.
Cod: #include "stdio.h" Da, folosesc Visual C++. Titlul: Răspuns: Puțin ajutor (eroare) Scris de: Simoiu Robert din Decembrie 24, 2010, 17:34:43 In primul rand ti-as recomanda o chestie : ia-ti un compilator mai nou, pentru ca daca iti compileaza cu void main inseamna ca e vechi. Deci, dupa ce faci rost de unul nou ( iti recomand CodeBlocks (http://www.codeblocks.org/) ), trebuie sa modifici void main in int main, apoi headerul stdafx.h nu mai exista, si nu mai ai nevoie de el, stdio.h ( sau cstdio, acelasi lucru ) e suficient. Acum o problema, la scanf iti trebuie ca parametru &n, nu n simplu, pentru ca tu il citesti pe n in memorie ( scanf ( "%d", &n ) ), la fel si cu celalte citiri. Si nu stiu ce program faci acolo, ca afisarile is cam proaste. La printf acolo trebuie afisat n-p+2, nu p-n+1, odata pentru ca n e mai mare ca p, si a doua oara p nu trebuie dus pana la 1, ci pana la 2 . Si nu trebuie sa faci acea operatie, --n. Si inca ceva, utilizeaza <>, in loc de "" la headere, pentru ca <> reprezinta header care exista deja , iar "" inseamna ca e definit de tine, desi merge pentru cele default.
Cod: # include <cstdio> Titlul: Răspuns: Puțin ajutor (eroare) Scris de: Robert Badea din Decembrie 24, 2010, 19:05:47 Aaahh, așa, omisesem &n.
Folosesc Microsoft Visual C++ 2010, nu mi se pare ceva vechi, iar header-ul "stdafx.h" este necesar aproape mereu (dacă nu mereu). Da, este un maxim și minim dintr-un vector ...fără vector, iar decrementarea acelei variabile este necesara pentru a se afișa "A[1] = ", "A[2] = ", etc. Am rezolvat, mersi mult, codul aici: Cod: #include "stdio.h" Titlul: Răspuns: Puțin ajutor (eroare) Scris de: truenight din Decembrie 24, 2010, 21:54:38 ia-ti un compilator mai nou, pentru ca daca iti compileaza cu void main inseamna ca e vechi. Nu... mi se pare ca da warning, dar de compilat, ar trebui sa compileze fara eroare. Code::Blocks foloseste MinGW, MinGW e un port de GCC, iar ultimul GCC da warning, nu eroare. Si ca o completare, in C main-ul e definit ca int main(void), pentru ca in C pui void ca sa arati ca functia nu ia niciun argument. In C++ nu pui nimic, dar in C, asta inseamna numar nedefinit de argumente.Citat Acum o problema, la scanf iti trebuie ca parametru &n, nu n simplu, pentru ca tu il citesti pe n in memorie ( scanf ( "%d", &n ) ), la fel si cu celalte citiri. Functia lucreaza cu pointeri pentru ca modifica valoarea in interiorul ei, deci are nevoie de o adresa la acea variabila, nu de o copie a valorii ei.Citat Si inca ceva, utilizeaza <>, in loc de "" la headere, pentru ca <> reprezinta header care exista deja , iar "" inseamna ca e definit de tine, desi merge pentru cele default. De fapt, daca il pui intre <>, header-ul e cautat in directorul in care se afla header-ele standard. Daca il pui intre "", e cautat intai in directorul specificat, iar apoi in cel pe care-l stie compilatorul.Sper ca am tinut bine minte :-k Titlul: Răspuns: Puțin ajutor (eroare) [rezolvat] Scris de: Simoiu Robert din Decembrie 25, 2010, 13:36:00 Da, in mare e bine, dar mie pe CB-ul meu, daca am void main nu compileaza deloc, adica am eroare.
|