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

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<limits.h>
  4. main()
  5. {
  6.    int n,i,A[50];
  7.  
  8.    printf("Uneti broj elemenata:\n");
  9.    scanf("%d",&n);
  10.  
  11.    for(i=0;i<n;i++)   
  12.    {   
  13.       printf("Unesite elemente:\n");
  14.       scanf("%d",&A[i]);
  15.    }
  16.    printf("Unesite br");
  17.    scanf("%d",&A[i]);
  18.    
  19.    for(i=0;i<=n;i++)
  20.       printf("%d\n",A[i]);
  21.  
  22.    getch();
  23. }



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
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<limits.h>
  4. main()
  5. {
  6.    int n,i,A[50],pom,j;
  7.  
  8.    printf("Uneti broj elemenata:\n");
  9.    scanf("%d",&n);
  10.  
  11.    for(i=0;i<n;i++)   
  12.    {   
  13.       printf("Unesite elemente:\n");
  14.       scanf("%d",&A[i]);
  15.    }
  16.    printf("Unesite br");
  17.    scanf("%d",&A[i]);
  18.  
  19.    for(i=n-1;i>0;i--)
  20.    {
  21.       for(j=0;j<i;j++)
  22.       {
  23.          if(A[j]>A[j+1])
  24.          {
  25.             pom=A[j+1];
  26.             A[j+1]=A[j];
  27.             A[j]=pom;
  28.              }
  29.         }
  30.    }
  31.    
  32.    
  33.    for(i=0;i<=n;i++)
  34.       printf("%d\n",A[i]);
  35.  
  36.    getch();
  37. }



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:

  1. // Stefan Sosic - Faculty of Technical Science
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include<stdio.h>
  6. #include<stdlib.h>
  7.  
  8. int main()
  9. {
  10.    int A[100],n;
  11.    printf("Uneti broj clanova niza:\n");
  12.    scanf("%d", &n);
  13.    if (n >= 100) {
  14.       return 1;
  15.    }
  16.    printf("Unos elementa niza\n");
  17.    for (int i = 0; i < n; i++) {
  18.       printf("Uneti %d element niza: ", i+1);
  19.       scanf("%d", &A[i]);
  20.    }
  21.  
  22.    //sortiranje
  23.    int pom;
  24.    for (int i = 0; i < n - 1; i++) {
  25.       for (int j = i + 1; j < n; j++) {
  26.          if (A[i] < A[j]) {
  27.             pom = A[i];
  28.             A[i] = A[j];
  29.             A[j] = pom;
  30.          }
  31.       }
  32.    }
  33.    printf("Ispis niza\n");
  34.    for (int i = 0; i < n; i++)
  35.       printf("%d\t", A[i]);
  36.    
  37.    int broj;
  38.    printf("\nUneti broj koji dodajemo u niz: ");
  39.    scanf("%d", &broj);
  40.    
  41.    //ispitivanje pozicije gde cemo ubaciti
  42.    int pok = 0;
  43.    for (int i = 0; i < n; i++) {
  44.       if (A[i] >= broj && broj >= A[i + 1]) {
  45.          pok = i;
  46.       }
  47.    }
  48.    //pomeranje indeksa radi ubacivanja
  49.    for (int i = n; i >= pok; i--) {
  50.       A[i + 1] = A[i];
  51.    }
  52.    A[pok+1] = broj;
  53.    
  54.    printf("Ispis novog niza\n");
  55.    for (int i = 0; i < n+1; i++)
  56.       printf("%d\t", A[i]);
  57.    printf("\n");
  58.  
  59.     return 0;
  60. }



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)

  1. int i,br;
  2. cout << "Uneti broj koji dodajemo u niz: "; cin >>  br;
  3. for (i = n+1; i > 0 && br > A[i-1]  ; i--) {
  4.     A[i] = A[i-1];
  5.  }
  6.  A[i] = br;


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

Ko je trenutno na forumu
 

Ukupno su 1200 korisnika na forumu :: 84 registrovanih, 6 sakrivenih i 1110 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 4thFlavian, Abebe Bikila, AMCXXL, Asteker, Avalon015, Ba4e, Boris BM, Boris90, branko87, BUDDAR70, darcaud, darkojbn, dekan.m, Denaya, DENIRO, Dimitrise93, dinamik, DonRumataEstorski, dragan_mig31, Fog of War, g_g, GeoM, goranvas, goxin, IQ116, jodzula, Jomini, Još malo pa deda, K-1A, karevski, kljift, Kobrim, kolle.the.kid, Kubovac, Levi, Lucije Kvint, Manjane, Martin543, mean_machine, menges, Metanoja, Miki01, mikrimaus, milimoj, MiroslavD, Murko, neutrino, niksa517, OldKresoje, Orc, Pavk3, pedja63, Petarvu, Povratak1912, PrincipL, Prometeus, RajkoB, Ranutovac, raster12, RJ, sajorg, sale76, Sarmat, sekretar, sslay, stefan95, Str2022, suton, Titan, Token, tubular, tuja, Tumansky, tvlada, Username1000, VanZan, vathra, vensla, vladetije, vuk77, vukan0799, x9, XBMC, zdrebac