Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 20.6.2012, 16:56   #1
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Zadaci za prijemni ispit za PMF

Otvaram ovu temu kako bih u njoj trazio pomoc od iskusnijih programera oko zadataka koje imam za prijemni ispit na PMF-u u Nisu, odesk racunarske nauke.

Na prijemnom ima stvarno jako zanimljivih zadataka koji traze mozganje ali i iskustva u programiranju.

Mene trenutno muci ovaj zadatak:
Citat:
Data je kvadratna matrica a dimenzije n x n. Odrediti proizvod elemenata ispod glavne dijagonale. Glavnu dijagonalu
čine elementi sa koordinatama (1, 1), (2, 2), ..., (n, n). Na primer za matricu a = ((1, 2, 3), (4, 5, 6), (7, 8, 9)) – odgovor
je 224.
Uzmimo na primer neku matricu koja izgleda ovako:
Kod:
1  2  3  4  5
6  7  8  9  10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
Glavna dijagonala ide od broja 1 do 25, a nama je potreban zbir svih brojeva ispod te dijagonale, tj. brojeva 6, 11, 12, 16, 17, 18, 21, 22, 23, 24. Tako da sam ja zakljucio da je meni tu potreban dvodimenzionalni niz, koji ima 5 podnizova, a svaki taj podniz ima 5 clanova. Za izracunavanje trazenog proizvoda, iz prvog podniza mi ne treba nijedan njegov clan, iz drugog mi treba njegov prvi clan, iz treceg njegova prva dva clana itd s'tim sto se broj trazenih clanova podniza linearno uvecava za 1.
Mene sada muci, kako da napravim program koji ce da izracunava trazeni proizvod.
Evo sta sam ja do sada uradio:
Kod:
#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
    int n;
    cout << "Unesite velicinu matrice: ";
    cin >> n;
    int i = 0;
    int array[n][n];
    for(i=1; i<n*n+1; i++)
    {
      cout << i << " " << endl;
      array[n][n] = i;
    }

    system("pause");
}
Bilo bi jako lepo, ako bi moderatori izasli meni, a siguran sam i drugima u susret, i ako ostave ovu temu, posto osim ovog zadatka, video sam jos par koje stvarno ne znam kako da resim.
PeTkO je offline   Odgovor sa citatom ove poruke
Stara 20.6.2012, 17:27   #2
Ivan452
Veteran
 
Član od: 25.7.2008.
Lokacija: Beograd
Poruke: 772
Zahvalnice: 33
Zahvaljeno 189 puta na 152 poruka
Slanje poruke preko MSN-a korisniku Ivan452
Određen forumom Re: Zadaci za prijemni ispit za PMF

Dugo nisam radio u C++u. A i nemam nikakav kompajler da bih ti ovo dobro uradio.
Ali evo prokomentarisacu dok ne naidje neko sa vise iskustva.

Prepodstavljam da si u ovom kodu pokusao da uneses brojeve u matricu. Ali gresis, uopste ne kapiram koja ti je ideja za unos.
Ti u tvojoj for petlji ides od 1 do 25 i u matrici na mestu (n,n) tj. (5,5) upisujes u svakom prolazu novu vrednost (1,2,3,4,5 ... 25)

Znaci prvo. Da bi dobro uneo brojeve u matricu, trebaju ti 2 for petlje da bi pristupio svakom clanu.
Trebalo bi ovako to da izgleda:

Kod:
int i,j,broj;
broj=1;

for(i=0;i<n;i++)
{
    for(j=0;j<n;j++)
    {
	  array[i][j]=broj++;
    }
}
potom kada imas matricu popunjenu sa brojevima od 1 do 25. Proizvod brojeva ispod glavne dijagonale radis bas onako sto si napisao. Probaj sam to, pa ako ne ide javi se.
Takodje, vidim da ne razumes najbolje for petlje u kombinaciji sa matricama. Moja preporuka ti je da to DOBRO proucis, jer ce ti sigurno nesto tog tipa doci.
Ivan452 je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku Ivan452 na korisnoj poruci:
PeTkO (21.6.2012)
Stara 20.6.2012, 18:46   #3
BobaL
Član
 
Član od: 1.4.2006.
Poruke: 493
Zahvalnice: 85
Zahvaljeno 143 puta na 83 poruka
Određen forumom Re: Zadaci za prijemni ispit za PMF

Kod:
int brojac = 1, suma = 0;
for(int i = 1; i < N; ++i) {
     for(int j = 0; j < b; ++j) suma += matrica[i][j];
     ++b;
}
Kod:
int brojac = 1, proizvod = 1;
for(int i = 1; i < N; ++i) {
     for(int j = 0; j < b; ++j) proizvod *= matrica[i][j];
     ++b;
}

Poslednja ispravka: BobaL (20.6.2012 u 18:54) Razlog: Pogresio sam jer se trazio proizvod...
BobaL je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku BobaL na korisnoj poruci:
PeTkO (21.6.2012)
Stara 20.6.2012, 19:38   #4
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Re: Zadaci za prijemni ispit za PMF

@BobaL
Tvoj kod mi nije bas najjasniji, pa bih te zamolio, ako ti nije problem, da mi napises ceo kod programa, koji ce na kraju da ispise rezultat proizvoda brojeva ispod glavne dijagonale. Pokusavam da sam sebi objasnim, pa mi je zato potreban ceo kod.
PeTkO je offline   Odgovor sa citatom ove poruke
Stara 20.6.2012, 20:02   #5
MG-RAY
Starosedelac
 
Član od: 15.2.2006.
Lokacija: Midlands
Poruke: 1.523
Zahvalnice: 277
Zahvaljeno 307 puta na 207 poruka
Slanje poruke preko Skypea korisniku MG-RAY
Lightbulb Re: Zadaci za prijemni ispit za PMF

C#, ali, kapiraš poentu...

Kod:
static void Main()
        {
            int d = 5;

            int[,] matrica = new int[d, d];

            // popunjavamo elementima redom, od 1 do WxH
            for (int i = 0; i < d * d; i++)
                matrica[i / d, i % d] = i + 1;

            // racunamo zbir bojeva ispod dijagonale, ovog puta dupla petlja, lakse je
            long proizvod = 1;
            for (int i = 0; i < d - 1; i++)
                for (int j = i + 1; j < d; j++)
                    proizvod *= matrica[j, i];

            Console.WriteLine("Proizvod elemenata je: {0}", proizvod);

            Console.ReadKey();
        }

Poslednja ispravka: MG-RAY (20.6.2012 u 20:07) Razlog: Proizvod, ne zbir... :|
MG-RAY je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku MG-RAY na korisnoj poruci:
PeTkO (21.6.2012)
Stara 20.6.2012, 20:06   #6
korisnickoime
Član
 
Član od: 15.12.2011.
Poruke: 150
Zahvalnice: 27
Zahvaljeno 49 puta na 44 poruka
Određen forumom Re: Zadaci za prijemni ispit za PMF

Matricu ucitavas ovako:
Kod:
int matrica[10][10];
int n; //matrica dimenzija n x n
for(int i = 0; i < n; i++)
    for(int j = 0; j < n; j++)
         scanf("%d",&matrica[i][j]);
Ovo su indeksi elemenata matrice 5x5:
Kod:
(0,0)  (0,1)  (0,2)  (0,3)  (0,4)
(1,0)  (1,1)  (1,2)  (1,3)  (1,4)
(2,0)  (2,1)  (2,2)  (2,3)  (2,4)
(3,0)  (3,1)  (3,2)  (3,3)  (3,4)
(4,0)  (4,1)  (4,2)  (4,3)  (4,4)
Ako pazljivo pogledas, videces da je elementima matrice koji su ispod glavne dijagonale prvi indeks veci od drugog((1,0), (4,3)...), to bi trebalo da iskoristis ovako nekako:
Kod:
int p = 1; //pocetna vrednost proizvoda
for(int i = 0; i < n; i++)
    for(int j = 0; j < n; j++)
         if(i > j){
             p = p * a[i][j];
         }
Detaljnije o matricama u C-u:
http://poincare.matf.bg.ac.rs/~sana/Programiranje2/07/IIcasC07.pdf

Poslednja ispravka: korisnickoime (20.6.2012 u 20:22)
korisnickoime je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku korisnickoime na korisnoj poruci:
PeTkO (21.6.2012)
Stara 20.6.2012, 22:41   #7
clzola
Član
 
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
Određen forumom Re: Zadaci za prijemni ispit za PMF

Imas trougao brojeva koji ti se nalazi ispod glavne dijagonale, to znaci da je krajnja gornja tacka trougla zapravo element matrice, m[1][0]. Ide ti sve do kraja, i u svakom redu uzimas za po jedan vise broj od prethodnog reda. ali u zadjem redu elemente uzimas do n-2. (U C++ indeksiranje pocinje od nule, pa ako imas niz od 10 elemenata zadnji je a[9], a u nasem slucaju treba da se ide do predzadnjeg elementa a to je a[n-2] odnosno u matrici m[n-1][n-2]).

Sad ti trebaju samo dvije for petlje. Jedna ide po kolonama a druga po redovima. U svakom sledecem redu imas za po 1 elemenat vise.

Kod:
int proizvod = 1;   // moras da postavis na 1 ako zelis da mnozis, ako je nula, sve ce biti 0
for(int i=1; i<=n-1; i++) // pocinjemo od prvog reda
    for(int j=0; j<i; j++) // pocinjemo od prvog elementa u tom redu i idemo do i-tog elemenata
        prozivod = proizvod * matrica[i][j] // ili ako treba da sabiras, sta vec
Probaj matricu da nacrtas kao tabelu na papiru, pa ce ti biti jasnije kako sam vrsio kretanje po matrici

@korisnickoime
ideja ti je odlicna, samo dodaj, da ako su "i" i "j" jednaki da predje na sledeci red u matrici, nema potrebe da vrtis for petlju skroz do kraja reda
Trosi vrijeme, ako je matrica ogromne velicine
clzola je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku clzola na korisnoj poruci:
PeTkO (21.6.2012)
Stara 20.6.2012, 23:26   #8
rastamankg
Novi član
 
Član od: 20.6.2012.
Lokacija: Kragujevac
Poruke: 3
Zahvalnice: 0
Zahvaljeno jedanput na jednoj poruci
Određen forumom Re: Zadaci za prijemni ispit za PMF

Evo ti program pisan u fortranu, valjda je lako snaci se :P
Sutra cu da odradim u C-u. Ako ti nesto nije jasno, pitaj.


PROGRAM MATRICA
DIMENSION M(100,100)
INTEGER P
PRINT *,"Uneti red matrice:"
READ (*,*) N
DO I=1,N
DO J=1,N
READ (*,*) M(I,J)
ENDDO
ENDDO
P=1
DO I=1, N-1
DO J=I+1, N
P=P*M(J,I)
ENDDO
ENDDO
PRINT *,P
END
rastamankg je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku rastamankg na korisnoj poruci:
PeTkO (21.6.2012)
Stara 21.6.2012, 9:56   #9
BobaL
Član
 
Član od: 1.4.2006.
Poruke: 493
Zahvalnice: 85
Zahvaljeno 143 puta na 83 poruka
Određen forumom Re: Zadaci za prijemni ispit za PMF

Citat:
PeTkO kaže: Pregled poruke
@BobaL
Tvoj kod mi nije bas najjasniji, pa bih te zamolio, ako ti nije problem, da mi napises ceo kod programa, koji ce na kraju da ispise rezultat proizvoda brojeva ispod glavne dijagonale. Pokusavam da sam sebi objasnim, pa mi je zato potreban ceo kod.
Matrica je sastavljena od redova:
0-ti red: Nema elemenata
1-vi red: Ima jedan element
2-gi red: Ima dva elementa itd.

Za to koristis brojac b, b je broj elemenata u i-tom redu. N oznacava broj redova pa kroz prvu FOR petlju prolazis kroz redove i za svaki red sumiras/mnozis b elemenata, a to se radi u drugoj FOR petlji (sumiranje ili mnozenje). Kada zavrsis sa jednim redom inkrementiras brojac b jer trebas preci u naredni red. Brojac b je postavljen inicijalno na vrednost 1 jer nulti red nema elemenata.
BobaL je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku BobaL na korisnoj poruci:
PeTkO (21.6.2012)
Stara 21.6.2012, 14:47   #10
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Re: Zadaci za prijemni ispit za PMF

Resio sam ovaj zadatak, i sto je najbolje, ukapirao sam na koju foru se radi, i uopste nije tesko
Ja kad zaglavim negde, javicu vam se. Imam dva zadatka koje uopste ne znam ni da postavim, ali njih cu kasnije da radim, ne mogu sad da se nerviram oko njih, radicu ove koje znam.

Jos jednom hvala svima.
PeTkO je offline   Odgovor sa citatom ove poruke
Stara 21.6.2012, 15:51   #11
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Re: Zadaci za prijemni ispit za PMF

Problem, again Izgleda da cete mi biti potrebni vise nego sto sam mislio.

Zadatak glasi:
Za dati broj x formiramo niz x, p(x), p(p(x)), … gde je p(x) proizvod cifara broja x. Ispisati sve brojeve u nizu do pojave
prvog jednocifrenog broja. Na primer, za n = 199 ispisati 199, 81, 8.

Ja sam napravio program koji dati broj deli na cifre...ali kako dalje? Potrebno mi je da te cifre mnozim, pa taj proizvod ponovo podelim na cifre, i tako u krug sve dok ne dobijem jednocifreni broj.

Evo koda:
Kod:
#include <iostream>
#include <stdlib.h>

using namespace std;

int main(int argc, char** argv)
{
    int num = 0;
    cout << "Unesite broj: ";
    cin >> num;
    while(num > 0)
    {
        int cifra = num%10;
        num /=10;
        cout << cifra << endl;
    }
    system("pause");
}
PeTkO je offline   Odgovor sa citatom ove poruke
Stara 21.6.2012, 16:33   #12
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Zadaci za prijemni ispit za PMF

Dok uzimas cifre, kreni da ih mnozis. Kada num bude jednak nuli, znaci da si pomnozio sve cifre i one ti se nalaze u proizvodu. Ispises taj proizvod, i onda proveris da li ti je taj proizvod manji od 10 (da bi bio jednocifren broj). Ukoliko jeste, kraj. Ukoliko nije, odradis sve to opet samo sto moras da resetujes promenljive.

Really bad primer:

Kod:
proizvod = 1
num = 199

cifra = 9
num = 19
proizvod *= cifra = 9

cifra = 9
num = 1
proizvod *= cifra = 81

cifra = 1
num = 0
proizvod *= cifra = 81

print proizvod

if proizvod < 10
  finish
else
  num = proizvod
  proizvod = 1
  repeat
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 21.6.2012, 16:36   #13
Markonije
Starosedelac
 
Član od: 14.3.2009.
Poruke: 1.200
Zahvalnice: 207
Zahvaljeno 276 puta na 179 poruka
Određen forumom Re: Zadaci za prijemni ispit za PMF

Petko ovo su gola voda zadaci,knjigu u ruke,ne trazi na gotovo...

Tako neces nauciti,ponavljam ovo je lako da lakse ne moze biti,dobro 'Hello World' je laksi

Knjigu,zbirku i kucaj,kucaj,kucaj


Prijateljski savet
Markonije je offline   Odgovor sa citatom ove poruke
Stara 21.6.2012, 20:34   #14
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Re: Zadaci za prijemni ispit za PMF

Evo jednog zadatka koji sam sam resio. Jedino sam morao da nadjem pomoc na googlu oko sortiranja brojeva u nizu.

Tekst zadataka:
Napisati program koji za dati niz ocena, izbacuje najveću i najmanju ocenu i računa prosek preostalih ocena. Na
primer, za niz ocena 2, 3, 5, 3, 2, 2, odstranjujemo ocene 5 i 2 – pa je odgovor (2 + 2 + 3 + 3) / 4 = 2.5.

Resenje:
Kod:
#include <iostream>
#include <cstring>
#include <stdlib.h>
#include <iterator>
#include <algorithm>
using namespace std;

int main()
{
    int x = 0;
    cout << "Unesite broj ocena: ";
    cin >> x;
    cout << "Unesite ocene... "<<endl;
    int niz[x];
    int nesto = 0;
    int brojac = 0;
    float brojPodataka = 0;
    float sum = 0;
    for (brojac=0; brojac<x; brojac++)
    {
        cout << "Unesite ocenu broj "<< brojac+1 <<":";
        cin >> niz[brojac];
        if(brojac == x-1)
        {
            nesto = 1;
            brojPodataka = brojac-1;
            break;
        }
    }
    for (int nStartIndex = 0; nStartIndex < x; nStartIndex++)
    {
        int nSmallestIndex = nStartIndex;

        for (int nCurrentIndex = nStartIndex + 1; nCurrentIndex < x; nCurrentIndex++)
        {
            if (niz[nCurrentIndex] < niz[nSmallestIndex])
            nSmallestIndex = nCurrentIndex;
        }
        swap(niz[nStartIndex], niz[nSmallestIndex]);
    }
    for(int i=1; i<x-1; i++)
    {
        sum += niz[i];
    }
    float defRezultat = sum/brojPodataka;
    cout << "Prosek ocena je: "<<defRezultat<<endl;

    system("pause");
}
@Markonije

Zadaci jesu laki za vas, ali su za mene jako komplikovani, jer prvi put u zivotu radim ovakav tip zadataka. Do sada sam samo radio konkretne stvari, a i plus sto imam skoro nikakvo iskustvo u aplikativnom programiranju, ja se vec 4 godine bavim web programiranjem, pa mi je malo teze da predjem u aplikativno programiranje. A za web mi ovakve stvari nisu nikada trebale.
PeTkO je offline   Odgovor sa citatom ove poruke
Stara 21.6.2012, 20:49   #15
Fantastic
Član
 
Član od: 1.4.2010.
Lokacija: Kuca
Poruke: 458
Zahvalnice: 20
Zahvaljeno 37 puta na 33 poruka
Određen forumom Re: Zadaci za prijemni ispit za PMF

1. zadatak sa matricama

Kod:
#include <iostream>
#include <cstdlib>

using namespace std;

int main(int argc, char* argv[]) {
    
    int n,i,j; 
    cin >> n;
    int a[n][n];

    int e = 1;

    for (i = 0; i<n; i++) 
    {
        for (j = 0; j<n; j++) 
        {
            a[i][j] = e; 
            e++;
        }
    }

    // sabiranje 
    int c = 0; 
    for (i = 0; i<n - 1; i++) 
    {
        for (j = i + 1; j<n; j++) 
        {
            c = c + a[j][i];
        }
    }
    
    cout << c << endl; 
    return 0;
}
2. zadatak sa ciframa

Kod:
#include <iostream>
#include <cstdlib>

using namespace std;


int mnozi(int n) 
{
    int p = 1; 
    while (n>0) 
    {
        p = p * (n%10); 
        n = n / 10; 
    }
    return p; 
}

void go(int n) 
{
    cout << n << " "; 
    int p; 
    if (n < 10) 
    {
        return; 
    }
    p = mnozi(n);
    go(p);
}

int main(int argc, char* argv[]) {
    int n; 
    cin >> n; 
    go(n);
    return 0;
}
Ja sad zavrsavam osmi razred, jel moze odmah na fax, vidite kako ja to znam DD xD salim se
Fantastic je offline   Odgovor sa citatom ove poruke
Stara 21.6.2012, 20:50   #16
clzola
Član
 
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
Određen forumom Re: Zadaci za prijemni ispit za PMF

@PeTkO, treci zadatak
Al' si ga zakomplikovao
Sta ce ti sortitanje ?

dovoljna ti je jedna for petlja da rijesis citav zadatak
Uzmes tri promenljive u koje ces da cuvas minimum, maximum i sumu svih elemata niza. Naziovimo ih 'min', 'max' i 'suma'. min, max i suma postavis da su jednaki prvom elementu niza, a[0].
Zatim ide for petlja od i=1 (drugog clana niza) do i<=n-1 (indeksiranje u C/C++ ide od nule!) i provjeravas da li je tekuci element niza manji od minimuma ili veci od maximuma i + racunas sumu.

Na kraju svega, oduzmes od sume 'min' i 'max' i podjelis sa n-2 i to je to

Kod ovakvih problema, nemoj da gledas to sad ucio si duze vremena web pa sad malo teze kapiras 'aplikativno' programiranje, vec problem pokusaj da rijesis matematicki.
Ovo je nista vise do matematika. Tako da ovakve probleme u stvari posmatraj kao matematicke probleme.
clzola je offline   Odgovor sa citatom ove poruke
Stara 21.6.2012, 21:02   #17
Fantastic
Član
 
Član od: 1.4.2010.
Lokacija: Kuca
Poruke: 458
Zahvalnice: 20
Zahvaljeno 37 puta na 33 poruka
Određen forumom Re: Zadaci za prijemni ispit za PMF

Evo zadatka sa ocenama

Kod:
#include <iostream>

using namespace std;

int main(int argc, char* argv[]) {
    int n; 
    cin >> n; 
    int k; 
    cin >> k; 
    n = n - 1; 
    int max = k; 
    int min = k; 
    int c = k;
    for (int i = 0; i<n; i++) 
    {
        cin >> k; 
        if (k>max) max = k;
        if (k<min) min = k; 
        c = c + k; 
    }
    int prosek = (c - max - min) / (n-1); 
    cout << prosek << "\n";
    return 0;
}
jel moze nekako iz osnovne direktno na fax da se ide ? posto vidim da su zadaci za malu decu
Fantastic je offline   Odgovor sa citatom ove poruke
Stara 21.6.2012, 22:03   #18
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Re: Zadaci za prijemni ispit za PMF

Zasto prosto kad moze komplikovano
Pa bunilo me je ovo da bude niz sortiran od najmanjeg ka najvecem broju, tj. oceni. Ali eto, nisam smislio prostije resenje od mog, ali kada sam video da moze prostije, onda sam bio u fazonu "Ti nisi normalan"

A sto se tice samog resavanja zadataka...Ja sve zadatke umem da resim u svojoj glavi, ali mi je problem kad to treba da prenesem na papir, u ovom slucaju u kod.

Evo jos jednog uradjenog zadatka:
Kod:
Za datu Cezarovu šifru, kodirati string sastavljen od velikih slova engleske abecede. Kod ovog šifriranja, svako slovo
se menja odgovarajućim slovom iz drugog reda. Na primer, za reč*‘MATEMATIKA’ štampati ‘PDWHPDWLND’.
Original:**A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Cezar:******D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Resenje:
Kod:
#include <iostream>
#include <stdlib.h>
#include <cstring>
using namespace std;

int main()
{
    char rec[120];
    char cezar[26]={'D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C'};
    cout << "Unesite rec (VELIKIM SLOVIMA): ";
    cin.getline(rec, 120);
    int duzina = strlen(rec);
    for(int i = 0; i < duzina; i++)
    {
       int index = rec[i] - 'A';
       char slovoZaZamenu = cezar[index];
       cout << slovoZaZamenu;
    }
    cin.get();
    system("pause");

}
PeTkO je offline   Odgovor sa citatom ove poruke
Stara 21.6.2012, 22:39   #19
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 11.166
Zahvalnice: 2.086
Zahvaljeno 4.923 puta na 2.859 poruka
Određen forumom Re: Zadaci za prijemni ispit za PMF

Joj, ne koristi ovo system("pause"), time nepotrebno vezuješ program za Windows čiji shell podržava komandu pause, a na ostalim operativnim sistemima ne postoji komanda pause u shell-u.

Takođe, ako već koristiš C++, slobodno upotrebljavaj njegove mogućnosti umesto što pišeš C program sa char[] stringovima.

Kod:
#include <iostream>
#include <string>

using std::cout;
using std::cin;
using std::string;

int main()
{
    string rec;
    string cezar = "DEFGHIJKLMNOPQRSTUVWXYZABC";

    cout << "Unesite rec (velikim slovima): ";
    cin >> rec;

    for(int i = 0; i < rec.length(); i++)
        cout << cezar[rec[i] - 'A'];

    cin.get();
    cin.ignore();

    return 0;
}
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 21.6.2012, 22:50   #20
PeTkO
Banned
 
Član od: 6.11.2005.
Lokacija: Iza tebe
Poruke: 2.242
Zahvalnice: 419
Zahvaljeno 298 puta na 192 poruka
Slanje poruke preko Skypea korisniku PeTkO
Određen forumom Re: Zadaci za prijemni ispit za PMF

Kada ne koristim system("pause"), vec return 0, program mi se automatski zatvori, tako da ne mogu da vidim krajnji rezultat. Znaci radi sve dok ne dodje do poslednje naredbe.

Poslusacu tvoj savet za C++. Hvala
PeTkO je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Access - vezbe i zadaci surovivuk Aplikativni softver 0 18.12.2011 14:19
Zadaci za kontrolni :) JaSamKorisnik Programiranje 3 16.6.2010 20:29
Zadaci sa bitovima, ili kako već da ih nazovem.. forrest_gump Programiranje 19 28.8.2008 3:50
Zadaci iz informatike za 8. razred OŠ DobroslaV Programiranje 3 12.11.2007 23:03


Sva vremena su po Griniču +2 h. Sada je 14:00.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com