Programiranje - C++ zadaci (dvodimenzionalno dinamičko polje)

int **polje=new int*[n]

1. Napišite program u kojem se stvara dvodimenzionalno dinamičko polje ZADATAK u koji se za učitani broj studenata unose postoci ocjene točno riješenih zadataka iz Programiranja. Izračunajte za svakog studenta srednji postotak ocjene i upišite ga kao zadnji podatak u njegovom redu. Ispišite polje ZADATAK.

#include "stdafx.h"
#include<iostream>
using namespace std;
void stvori(float **ZADATAK,int n)
{
	int m;
	for(int i=0;i<n;i++)
	{
		cout<<"Broj zatadaka "<<i+1<<". studenta:";
		cin>>m;
		ZADATAK[i]=new float[m+2];
		ZADATAK[i][0]=float(m)
	}
}
void ucitaj(float **ZADATAK,int n)
{
	int i,j;
	for(i=0;i<n;i++)
	{
		float suma=0;
		for(j=1;j<=ZADATAK[i][0];j++) { 
			cout<<i+1<<". student "<<j<<".  postotak ocjene: ";
		     	cin>>ZADATAK[i][j];
	                     	suma+=ZADATAK[i][j]; 
		      } 
		ZADATAK[i][j]=suma/ZADATAK[i][0];
	}
}
void ispis(float **ZADATAK,int n)
{
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<=ZADATAK[i][0]+1;j++)
			cout<<ZADATAK[i][j]<<" ";
		cout<<endl;
	}
}
void dealokacija(float **ZADATAK,int n)
{
	for(int i=0;i<n;i++)
		delete [] ZADATAK[i];
	delete [] ZADATAK;
	ZADATAK=NULL;
}
void main()
{
	int n;
	cout<<"Unesite broj studenata:";
	cin>>n;
	float **ZADATAK=new float*[n];
	cout<<endl;
	stvori(ZADATAK,n);
	cout<<endl;
	ucitaj(ZADATAK,n);
	cout<<endl;
	ispis(ZADATAK,n);
	cout<<endl;
	dealokacija(ZADATAK,n);
}

Preuzmite projekt: zad_1.cpp.

2. Napišite program u kojem se stvara dvodimenzionalno dinamičko polje KTT u koji se za učitani broj studenata unose samo bodovi točno riješenih zadataka iz kratkih teorijskih testova. Izračunajte za svakog studenta zbroj bodova i upišite ga kao zadnji podatak u njegovom redu. Ispišite polje KTT.

#include "stdafx.h"
#include <iostream>

using namespace std;

void stvori(int **KTT,int n)
{	
	int m;
	for(int i=0;i<n;i++)
	{
		cout<<"Broj testova "<<i+1<<". studenta za koji je postigo bodove: ";
		cin>>m;
		KTT[i]=new int[m+2];
		KTT[i][0]=m;
	}
	cout<<endl;
}

void obrada(int **KTT,int n)
{
	for(int i=0;i<n;i++)
	{
		int suma=0;
		int j;
		for(j=1;j<=KTT[i][0];j++)
		{
			cout<<"Bodovi "<<i+1<<". studenta "<<j<<". testa: ";
	     	cin>>KTT[i][j];
	       	suma+=KTT[i][j]; 
	    }
		KTT[i][j]=suma;
	}
}

void ispis(int **KTT,int n)
{
	for(int i=0;i<n;i++)
	{	int j;
		cout<<endl<<i+1<<". student:"<<endl;
		for(j=1;j<=KTT[i][0];j++)
			cout<<KTT[i][j]<<" ";
		cout<<endl<<"Sveukupno: "<<KTT[i][j]<<endl;
	}
}

void dealokacija(int **KTT,int n)
{
	for(int i=0;i<n;i++)
		delete []KTT[i];
	delete []KTT;
	KTT=NULL;
}

void main()
{
	int n;
	cout<<"Unesite broj studenata: ";
	cin>>n;
	cout<<endl;

	int **KTT=new int*[n];
	stvori(KTT,n);
	obrada(KTT,n);
	ispis(KTT,n);
	dealokacija(KTT,n);
}

Preuzmite projekt: zad_2.cpp.

<<Home