Šta je novo?

Programiranje u C-u (potrebna pomoc)

Lot_Dog

Slavan
Učlanjen(a)
09.12.2008
Poruke
8
Poena
301
Dakle, poceo sam sa programiranjem radim iz neke zbirke i nekih tutorijala koje sam pokupio s neta. E sad naisao sam na nekoliko programa koje ne mogu da resim, nemam slicnih primera zadataka. Za neke imam neku ideju ali nikakvu realizaciju, pa bih ja zamolio nekoga ko ima slicne primere ili zna glavni deo koda (bez unosa i ispisa) da mi to prosledi. Hvala.


1. Napisati program kojim se ucitava string i iz njega izdvojiti najdužu rec koja pocinje slovom „S“ i završava se slovom „o“ i u reci sadrži slovo „a“. Koristiti funkcije.

2. Napisati program u kome se ucitava kvadratna celobrojna marica A dimenzije nxn. Od matrice A kreirati celobrojnu matricu V tako da je elemenat V[j] jednak srednjoj vrednosti elemenata matrice A koji se nalaze u i-toj vrsti i j-toj koloni. Za unošenje elemenata matrice A i nalaženje matrice V koristiti funkcije. Odštampani dobijenu matricu V.

3. U datoteci MATRICA.txt nalazi se jedna matrica dimnzija m x n i to upisana na sledeci nacin, u prvom redu se nalaze dva podatka odvojena praznim mestom koji predstavljaju dimenzije matrice. U sledecim redovima nalaze se vrednosti elemenata matrice (odvojene praznim mestom) složeni tako da jednom redu odgovara jedna vrsta matrice. U datoteku SORTIRAN.txt upisati sortirane elemente sporedne dijagonale u neopadajucem poretku ako je matrica kvadratna, a ako nije kvardatna upisati poruku „Matrica nema dijagonala!!!“.

4. Napisati program kojim se ucitava string i iz njega izdvojiti najdužu rec koja u sebi sadrži slovo „a“. Koristiti funkcije.

5. Napisati program u kome se ucitava kvadratna celobrojna marica A dimenzije nxn. Od matrice A kreirati niz B[n] na taj nacin što se na i-tu poziciju u nizu postavlja srednja vrednost elemenata i-te kolone i i-te vrste.
 
Evo pred spavanje da probam ovaj prvi.

Imas neki char* stringBuffer gde ti je taj string.

koristim ove promenljive (posto u C-u ako me secanje sluzi sve mora na pocetku da se deklarise (zbog ovog i gomile ostalih razloga si odmah mogao da krenes na C++).
Kod:
        char* stringBuffer;
	int aFound = 0;
	int longest = 0;
	int found = 0;
	int newWord = 1;
	int i;
	int j;
        int bufferLength = ...;

ovo mi je ideja za algoritam (mrzelo me je da radim preko funkcija, ali bih ti svakako savetovao da doradis to za vezbu...

Kod:
	for (i = 0; i < bufferLength; ++i) {
		if (newWord) {
			if (stringBuffer[i] == 'S') {
				j = i;
				aFound = 0;
				for (; stringBuffer[j] != ' ' && stringBuffer[j] != '\0' && stringBuffer[j] != '\n'; ++j) {
					if (stringBuffer[j] == 'a') {
						aFound = 1;
					}
				}
				if (stringBuffer[j-1] == 'o' && j - i > longest && aFound == 1) {
					found = i;
					longest = j - i;
				}
				i = j;
			}
		}
		if (stringBuffer[i] == ' ') {
			newWord = 1;
		}
	}

na kraju bi found trebalo da pokazuju na najduzu odgovarajucu rec duzine longest. Napisi ulaz / izlaz i istestiraj malo. Izvinjavam se ako ima nekih gresaka, mozak mi vec uveliko spava:).
 
Sa OVE strane skini Materijal za vežbe na tabli i pripremu ispita, tu ćeš naći dosta rešenih primera, i mislim da čak ima i rešenja za neke od zadataka koje si naveo, ili bar nešto slično, ali dovoljno da ti da ideju kako da radiš.

Edit:
Ako si ovu temu otvarao baš zato što spremaš Programiranje 2 na ETF-u, onda sam džabe krečio (pisao) :D
 
Poslednja izmena od urednika:
Hvala

@SINTER hvala za kod, necu imati vremena da ga istestiram za vikend ali u toku nedelje cu ga probati :type:.
@Speeder takodje hvala za link. PS: nije u pitanju programiranje na ETF-u:wave:
 
Sada malo bistrije glave gledam ove zadatke i stvarno su mnogo laki, a i neces bog zna sta nauciti iz njih. Ako ti je samo za vezbu, bolje nadji negde na netu zadatke sa resenjima. Makar ovakvih gluposti imas koliko hoces (kad smo vec kod etf-a mozes da kupis one laslove biblije/zbirke pa da ucis iz njih. One su pune ovakvih gluposti...).

Ako ti je bitno reci pa mozda odradim jos neki kada mi bas bude bilo dosadno...
 
Daleko od toga da su Laslove zbirke glupost, ako se pogleda sta danas uce decu po ovim kvazi fakultetima i skolama. To sto Laslo predaje i jeste za pocetnike, ali je barem po meni dosta kvalitetnije od ostalih gluposti po ostalim skolama/fakultetima.
 
Ne kazem da su glupost, nego su pune ovakvih zadataka, koji su poprilicno dosadni i jednolicni (u prevodu "glupi"), ali predstavljaju jedini nacin da neko, ko je totalni pocetnik, nauci nesto.
 
Sada malo bistrije glave gledam ove zadatke i stvarno su mnogo laki, a i neces bog zna sta nauciti iz njih. Ako ti je samo za vezbu, bolje nadji negde na netu zadatke sa resenjima. Makar ovakvih gluposti imas koliko hoces (kad smo vec kod etf-a mozes da kupis one laslove biblije/zbirke pa da ucis iz njih. One su pune ovakvih gluposti...).

Ako ti je bitno reci pa mozda odradim jos neki kada mi bas bude bilo dosadno...

Ako ti bude bilo toliko dosadno odradi jos neki. Kazete da je dobra laslova zbirka jel razumljiva? Ako je dobra da probam da je nabavim posto nisam iz bg-a. Znam da postoji puno materijala na netu vezano za ovu tematiku ali interesuje koje bi ste mi stivo preporucili?
 
Laslova zbirka je je malo dosadna ali je dobra i lepo je objasnjeno i zadaci su odradjeni na razumljiv nacin. I ti dosadni zadaci u sebi sadrze neke osnovne principe koje ucis i koji ti posle ostanu u krvi i jednog dana ces slicne stvari primenjivati na stvarnim problemima. :D
 
Evo ti drugi i od mene je dosta...

Kod:
int main() {
	int** V;
	int** A;
	int N;
	//input...
        // popuni V nulama
	for (int i = 0; i < N; ++i) {
		for (int j = 0; j < N; ++j) {
			for (int k = 0; k < N; ++k) {
				V[i][j] += A[i][k];
				V[i][j] += A[k][j];
			}
			V[i][j] -= A[i][j];  // Dva puta smo racunali...
			V[i][j] /= 2 * N - 1; // srednja vrednost
		}
	}
	//output
}



U trecem ako ne znas da sortiras nadji neki algoritam na netu, ili koristi biblioteku.
Cetvrti je laksa varijanta prvog i peti je isti kao i drugi.

Sto se tice Lasla, ja sam odatle dosta naucio. Za ove osnovne stvari je skroz ok (tu je, makar ja mislim, svaka knjiga ista posto tu i nema mnogo filozofiranja sa zadacima), tako da preporucujem i knjigu i zbirku. Dakle, odes u skriptarnicu ETF-a i trazis knjigu i zbirku iz C-a od Lasla Krausa i narednih mesec dana uzivas u ovakvim zadacima...
 
Nazad
Vrh Dno