Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 4.446 pregleda

Najnovija ↓

Matrice i nizovi 06.06.2017. u 16:48 · pre 114 meseci #1
Uskoro imam ispiti iz programirajau C, a imam nekih zadataka koji nisam uspio da rješim jel mi neko može pomoći oko ova dva zadatka



Zadatak 1. Napisati program koji od korisnika traži unos n elemenata niza (ne više od 20), unos se prekida brojem -1 (koji se ne unosi u niz). Program nakon toga treba pronaći i ispisati najmanji i drugi najmanji broj u unesenom nizu.
Primjeri ispisa:
Unesite 1. element (-1 za kraj unosa): 10
Unesite 2. element (-1 za kraj unosa): 5
Unesite 3. element (-1 za kraj unosa): 8
Unesite 4. element (-1 za kraj unosa): 1
Unesite 5. element (-1 za kraj unosa): 3
Unesite 6. element (-1 za kraj unosa): 8
Unesite 7. element (-1 za kraj unosa): -1
Najmanji broj je: 1
Drugi najmanji broj je: 3


Zadatak 2. Napisati program koji od korisnika zahtijeva unos dimenzije kvadratne matrice cijelih brojeva (dimenzija ne veće od 10), i elemente matrice. Pri tome osigurati da se matrica unese korektno. Program treba iz matrice izbaciti elemente na glavnoj dijagonali. Matricu treba modifikovati, a ne samo pri ispisu zanemariti elemente na dijagonali. Elemente matrice poravnati sa lijevom stranom i ostaviti 5 mjesta za ispis svakog broja.
Primjer ispisa:
Unesite dimenziju matrice: 5
Unesite elemente 1. reda: 1 2 3 4 5
Unesite elemente 2. reda: 6 7 8 9 1
Unesite elemente 3. reda: 1 2 3 4 5
Unesite elemente 4. reda: 6 7 8 9 1
Unesite elemente 5. reda: 1 2 3 4 5
Matrica nakon izbacivanja dijagonale:
2 3 4 5
6 8 9 1
1 2 4 5
6 7 8 1
1 2 3 4

Unaprijed zahvalan
Re: Matrice i nizovi 06.06.2017. u 17:27 · pre 114 meseci #2
http://www.elitesecurity.org/o/pravilnik/korisnici/

Citat:
6. Ne tražite da Vam neko radi domaći zadatak

Ne očekujte da bilo ko obavezno odradi sav posao umesto Vas! Rado ćemo pomoći oko svakog problema u slučaju da Vam "gori pod nogama", pred neki ispit ili posao, ali morate da pokažete na delu da ste u stvari krenuli sa radom i zastali pošto ne znate kako dalje. Ako samo navedete zadatak i specifikacije, u zavisnosti od raspoloženja članova na forumu, možda će se naći neko da odradi kompletan posao, ali pošto to zavisi od entuzijazma samih članova, ne postoji garancija da će se i dogoditi! [ES] posetioci će Vam pomoći da bolje SHVATITE problem sa kojim ste suočeni, ali ponešto morate i sami da uradite!


Pokaži da si bar nešto uradio/pokušao da bi ti neko pomogao.
Kod koji si napisao stavi u [ code ] tag.
Re: Matrice i nizovi 07.06.2017. u 21:57 · pre 114 meseci
izmenjeno 1 put, poslednji put X Files 08.06.2017. u 20:24
  1. X Files08.06.2017. u 20:24zapis iz teksta poruke
#3
Evo prvi zadatak



Code:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int niz[5], max, i, ind, br=0, temp;
    for(i=0; i<5; i++);
    {
    printf("UNESITE %i element (-1 za kraj unosa:)",i+1);
    scanf("%d", &temp);
    if (temp==-1) break;
    else
    {
        niz[i]=temp;
        br++1;
    }}
    max = niz [0];
    for (i=1; i<5; i++)
    {
        if (niz[i]>max)
        {
            max= niz[i];
            ind = i;
        }
        Printf("Najmanji je %d", max);
    niz[ind]=0;
    max=niz[0;];
    return 0;
Re: Matrice i nizovi 08.06.2017. u 09:28 · pre 114 meseci #4
U prethodnom postu sam ubacio kopiju prvog zadatka sto sam pripremio. ali klada se pokrene kompajler javlja grešku i ne mogu ga pokrenuti, može li neko pogledati i vidjeti u čemu griješim

Re: Matrice i nizovi 09.06.2017. u 15:37 · pre 114 meseci #5
uspio sam nekako da pokrenemkod međutim kada unosim prvi clan niza procese se ne nastavlja dalje moze li mi iko ponuditi rjesenje

Re: Matrice i nizovi 09.06.2017. u 21:59 · pre 114 meseci #6
Nekoliko puta sam pokušao da odgovorim, ali svaki put kada pogledam tvoje rešenje odustanem.

Tvoj program, čak i da je ispravan ne bi radio ono što treba da radi.

- Traži se da se učita niz sa ne više od 20 članova, a ti dimenzionišeš niz koji ima 5 elemenata.
- Traži se da nađeš DVA najmanja člana, a ti nalaziš NAJVEĆI. Još ga zoveš i max, a treba ti min.
- deklarišeš promenljivu br, a ne koristiš je nizašta - a u drugoj petlji treba da ideš do br a ne do 5
- pišeš br++1 a to ne postoji. Postoji br++ ili br+=1 i obe komande uvećavaju br za jedan.
- odmah posle for petlje stavljaš ; tako da se pet puta izvršava NIŠTA for(i=0; i<5; i++);
- šta pa ovo treba da znači?? max=niz[0;]; stavljaš ; u index niza, čisto da se nađe za svaki slučaj
- fale dve zatvorene vitičaste zagrade.
- jednom pišeš printf sa malim p, jednom sa velikim P (a mora sa malim)
- zašta služe one dve komande posle poslednjeg printf. Ne koristiš ih nigde, samo izađeš iz programa

Ako ti je uskoro ispit, onda nisi ni blizu da ga položiš. Izvini, ali tako je. Ne vidim svrhu da ti napišem program koji radi jer učenje programiranja nije da napamet prekucaš nešto što je neko drugi napisao.
Sviđa mi se1
Re: Matrice i nizovi 12.07.2017. u 20:22 · pre 113 meseci #7
Code:
 /*
    Izbacuje glavnu dijagonalu matrice.
*/


#include <stdio.h>
#include <stdlib.h> // zbog exit()

#define MAX_SIZE 10


// Prikazuje matricu M[][] koja ima r redova i k kolona
void prikazi_matricu( char *tekst, int M[][MAX_SIZE], int r, int k )
{
    int i, j;

    printf("\n%s\n\n",tekst);

    for(i=0;i<r;i++) {    // Stampamo matricu M[][]
        for(j=0;j<k;j++)
            printf("%4d",M[i][j]);

        printf("\n\n");   // novi red matrice
    }
    printf("\n\n");
}


void unos_elemenata_matrice( int M[][MAX_SIZE], int r, int k )
{
    int i, j;

    for(i=0;i<r;i++)
        for(j=0;j<k;j++){
            printf("\n Unesite M[%d][%d] = ",i,j);
            scanf("%d",&M[i][j]);
        }
    printf("\n");
}


// Formira matricu M[][] koja ima r redova i k kolona
void formiraj_matricu( int M[][MAX_SIZE], int r, int k )
{
    int i, j, broj = 1;

    for(i=0;i<r;i++)
        for(j=0;j<k;j++)
            M[i][j] = broj++;
}


// Izbacuje glavnu dijagonalu matrice M[r][k] koja ima r redova i k kolona.
// Nova matrica bez glavne dijagonale imace isti broj redova,
// a broj kolona ce za 1 biti manji.
void izbaci_glavnu_dijagonalu_matrice( int M[][MAX_SIZE], int *r, int *k )
{
    int i, j, r1, k1;
    // r1 i k1 su broj redova i kolona matrice M[][] sa izbacenom glavnom dijagonalom

    for(i=0;i<*r;i++){

        r1=i;   // pocetna vrednost za brojac redova nove matrice
        k1=0;   // pocetna vrednost za brojac kolona nove matrice

        for(j=0;j<*k;j++)
            if( i != j )   // ako to nije element glavne dijagonale matrice M[][]
                M[r1][k1++] = M[i][j];  // i povecavamo k1, broj kolona nove matrice
    }

//    (*r)--;     // smanjujemo broj redova
    (*k)--;     // smanjujemo broj kolona
}



int main(void)
{
    int M[MAX_SIZE][MAX_SIZE];

    int i, r, k;   // r je broj redova a k je broj kolona matrice M[][]

    // Zadatak ima smisla za r = k tj. za kvadratnu matricu, ali radi vezbe,
    // dopustamo da broj redova i kolona bude razlicit:

    printf("\n Unesi broj redova kvadratne matrice M[r][k] (manji od %d) : r = ",MAX_SIZE);
    scanf("%d", &r);
    printf("\n");

    if ( r > MAX_SIZE ) {
        printf("\n Broj redova matrice ne sme biti veci od %d \n",MAX_SIZE);
        exit(1);
    }


    printf("\n Unesi broj kolona matrice M[%d][k] (manji od %d) : k = ",r,MAX_SIZE);
    scanf("%d", &k);
    printf("\n");

    if ( k > MAX_SIZE ) {
        printf("\n Broj redova matrice ne sme biti veci od %d \n",MAX_SIZE);
        exit(2);
    }

    // unos_elemenata_matrice(M,r,k);

    formiraj_matricu(M,r,k); // matricu formiramo u funkciji da ne gubimo vreme za unos elemenata

    prikazi_matricu(" Matrica M[][] je: ",M,r,k);


    izbaci_glavnu_dijagonalu_matrice(M,&r,&k);

    prikazi_matricu(" Matrica M[][] bez glavne dijagonale je: ",M,r,k);


    return 0;
}
 
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme