Zadatak sa nizovima C++

2

Zadatak sa nizovima C++

offline
  • Pridružio: 03 Dec 2015
  • Poruke: 335

Napisano: 29 Okt 2017 22:27

evo da probam i javljam

Dopuna: 29 Okt 2017 22:32

probao sam bez sortiranja , samo sam ubacio broj i stampa , evo koda i izgled programa
#include<stdio.h> #include<stdlib.h> #include<limits.h> main() {    int n,i,A[50];    printf("Uneti broj elemenata:\n");    scanf("%d",&n);    for(i=0;i<n;i++)       {          printf("Unesite elemente:\n");       scanf("%d",&A[i]);    }    printf("Unesite br");    scanf("%d",&A[i]);        for(i=0;i<=n;i++)       printf("%d\n",A[i]);    getch(); }


Takodje , hvala puno Very Happy

Dopuna: 29 Okt 2017 22:44

javlja se drugi problem, nece lepo da sortira , probao sam na 2-3 nacina ali nece, evo jednog
#include<stdio.h> #include<stdlib.h> #include<limits.h> main() {    int n,i,A[50],pom,j;    printf("Uneti broj elemenata:\n");    scanf("%d",&n);    for(i=0;i<n;i++)       {          printf("Unesite elemente:\n");       scanf("%d",&A[i]);    }    printf("Unesite br");    scanf("%d",&A[i]);    for(i=n-1;i>0;i--)    {       for(j=0;j<i;j++)       {          if(A[j]>A[j+1])          {             pom=A[j+1];             A[j+1]=A[j];             A[j]=pom;              }         }    }            for(i=0;i<=n;i++)       printf("%d\n",A[i]);    getch(); }



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 29 Okt 2017
  • Poruke: 1

U naslovu si napisao C++, a koristiš običan C ovde.
Najbolje bi ovde bilo kada bi se koristili i pokazivači, samim tim bi mogao i da napraviš dinamičku alokaciju memorije.

Ali evo u C-u:

// Stefan Sosic - Faculty of Technical Science // #include "stdafx.h" #include<stdio.h> #include<stdlib.h> int main() {    int A[100],n;    printf("Uneti broj clanova niza:\n");    scanf("%d", &n);    if (n >= 100) {       return 1;    }    printf("Unos elementa niza\n");    for (int i = 0; i < n; i++) {       printf("Uneti %d element niza: ", i+1);       scanf("%d", &A[i]);    }    //sortiranje    int pom;    for (int i = 0; i < n - 1; i++) {       for (int j = i + 1; j < n; j++) {          if (A[i] < A[j]) {             pom = A[i];             A[i] = A[j];             A[j] = pom;          }       }    }    printf("Ispis niza\n");    for (int i = 0; i < n; i++)       printf("%d\t", A[i]);        int broj;    printf("\nUneti broj koji dodajemo u niz: ");    scanf("%d", &broj);        //ispitivanje pozicije gde cemo ubaciti    int pok = 0;    for (int i = 0; i < n; i++) {       if (A[i] >= broj && broj >= A[i + 1]) {          pok = i;       }    }    //pomeranje indeksa radi ubacivanja    for (int i = n; i >= pok; i--) {       A[i + 1] = A[i];    }    A[pok+1] = broj;        printf("Ispis novog niza\n");    for (int i = 0; i < n+1; i++)       printf("%d\t", A[i]);    printf("\n");     return 0; }



offline
  • Pridružio: 03 Dec 2015
  • Poruke: 335

Da, moja greska..
Hvala snasao sam se zahvaljujuci tvom primeru.

offline
  • Pridružio: 11 Apr 2012
  • Poruke: 98

Po meni najbolji nacin da se ovo izvede je ovaj (uz pretpostavku da je niz dovoljno velik)
  int i,br;   cout << "Uneti broj koji dodajemo u niz: "; cin >>  br;   for (i = n+1; i > 0 && br > A[i-1]  ; i--) {       A[i] = A[i-1];    }    A[i] = br;

odnosno ovako ako hocemo da oslobodimo promenjivu int i nakon for petlje
int br; cout << "Uneti broj koji dodajemo u niz: "; cin >>  br; for (int i = n+1;   ; i--) {      if (i > 0 && br > A[i-1])           A[i] = A[i-1];      else{           A[i] = br;           break;           }    }

Ko je trenutno na forumu
 

Ukupno su 1312 korisnika na forumu :: 11 registrovanih, 2 sakrivenih i 1299 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 1586 - dana 16 Sep 2019 22:25

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: bato3, bojan313, drasko003, Drug pukovnik, igorkozar83, joca83, JOntra2, lakiluciano, shaja1, vladom6, |_MeD_|