1. Napišite program koji u funkciji stvara dinamički niz A s n rezultata skijašica slaloma. U funkciji sortiraj sortirajte padajući niz A. U funkciji razlika upišite u dinamički niz R razliku vremena svake skijašice u odnosu na vrijeme najbolje skijašice. Ispišite nizove A i R.
#include "stdafx.h"
#include <iostream>
using namespace std;
void ucitaj(float *niz, int n)
{
for(int i=0;i<n;i++)
{
cout<<"Vrijeme "<<i+1<<". skijasice:"<<endl;
cin>>*(niz+i);
}
}
void sortiraj(float *niz,int n)
{
for(int i=0;i<n-1;i++)
for(int j=0;j<n-1;j++)
if(*(niz+j)<*(niz+j+1))
{
float temp=*(niz+j);
*(niz+j)=*(niz+j+1);
*(niz+j+1)=temp;
}
}
void razlika(float *A,float *R,int n)
{
float best=*(A+n-1);
for(int i=0;i<n;i++)
*(R+i)=*(A+i)-best;
}
void ispisi(float *niz,int n)
{
for(int i=0;i<n;i++)
cout<<*(niz+i)<<" ";
}
void main()
{
int n;
cout<<"Broj skijasica:";
cin>>n;
float *nizA=new float[n];
float *nizR=new float[n];
cout<<endl;
ucitaj(nizA,n);
sortiraj(nizA,n);
razlika(nizA,nizR,n);
cout<<endl;
ispisi(nizA,n);
cout<<endl<<endl<<"Razlika:"<<endl;
ispisi(nizR,n);
cout<<endl<<endl;
}
Preuzmite projekt: zad_1.cpp.
2. Napišite program koji u funkciji stvara dinamički niz A s n rezultata skijašica slaloma u prvoj vožnji i dinamički niz B s n rezultata druge vožnje. U funkciji zbroji stvorite dinamički niz C koji će sadržavati zbrojeve rezutata prve i druge vožnje i te u funkciji sortiraj sortirajte uzlazno niz C. Ispišite nizove A, B i C.
#include "stdafx.h"
#include <iostream>
using namespace std;
void ucitaj(float *X,int n)
{
for(int i=0;i<n;i++)
{
cout<<"Rezultat "<<i+1<<". skijasice: ";
cin>>*(X+i);
}
}
void zbroj(float *A,float *B,float *C,int n)
{
for(int i=0;i<n;i++)
*(C+i)=*(A+i)+*(B+i);
}
void sortiraj(float *C,int n)
{
float temp;
for(int i=0;i<n;i++)
for(int j=i;j<n;j++)
if(*(C+i)>*(C+j))
{
temp=*(C+i);
*(C+i)=*(C+j);
*(C+j)=temp;
}
}
void ispisi(float *X,int n)
{
for(int i=0;i<n;i++)
cout<<*(X+i)<<" ";
cout<<endl;
}
void main()
{
int n;
cout<<"Broj skijasica: ";
cin>>n;
float *A=new float[n];
float *B=new float[n];
float *C=new float[n];
cout<<endl<<"Prva voznja:"<<endl;
ucitaj(A,n);
cout<<endl<<"Druga voznja:"<<endl;
ucitaj(B,n);
zbroj(A,B,C,n);
sortiraj(C,n);
cout<<endl<<"Vremena prve voznje:"<<endl;
ispisi(A,n);
cout<<"Vremena druge voznje:"<<endl;
ispisi(B,n);
cout<<endl<<"Sveukupni sortirani poredak:"<<endl;
ispisi(C,n);
delete []A;
delete []B;
delete []C;
}
Preuzmite projekt: zad_2.cpp.
3. Napišite program koji u funkciji stvara dinamički niz A u koji se za n studenata unose brojevi bodova na ispitu iz Programiranja. U funkciji sortiraj sortirajte padajući niz A. U funkciji pozitivni upišite u dinamički niz P sve brojeve bodove iz niza A koji su veći od prosječnog broja bodova. Ispišite nizove A i P.
#include "stdafx.h"
#include <iostream>
using namespace std;
void unos(int *A,int n)
{
for(int i=0;i<n;i++)
{
cout<<"Bodovi "<<i+1<<". studenta: ";
cin>>*(A+i);
}
}
void sortiraj(int *A,int n)
{
for(int i=0;i<n;i++)
for(int j=i;j<n;j++)
if(*(A+i)<*(A+j))
{
int temp=*(A+i);
*(A+i)=*(A+j);
*(A+j)=temp;
}
}
float prosijek(int *A,int n)
{
int sum=0;
for(int i=0;i<n;i++)
sum+=*(A+i);
return sum/n;
}
int pozitivni(int *A,int n)
{
int p=0;
float ar_s=prosijek(A,n);
for(int i=0;i<n;i++)
if(ar_s<*(A+i))p++;
return p;
}
void prijepis(int *A,int *P,int n)
{
float ar_s=prosijek(A,n);
int x=0;
for(int i=0;i<n;i++)
if(*(A+i)>ar_s)
{
*(P+x)=*(A+i);
x++;
}
}
void ispis(int *X,int x)
{
for(int i=0;i<x;i++)
cout<<*(X+i)<<" ";
cout<<endl;
}
void main()
{
int n;
cout<<"Broj studenata: ";
cin>>n;
int *A=new int[n];
unos(A,n);
sortiraj(A,n);
int p=pozitivni(A,n);
int *P=new int[p];
prijepis(A,P,n);
cout<<"Niz A:"<<endl;
ispis(A,n);
cout<<"Niz P:"<<endl;
ispis(P,p);
}
Preuzmite projekt: zad_3.cpp.