Задатак1. Матрицом реда N дата је табела јесенјег дела фудбалског шампионата чији су елементи : 0– ако је екипа i изгубила од екипе ј; 1– ако је нересено; 2 ако је екипа i победила екипу ј. Написати програм којим се израчунава:
а) бројекипа који су имали више победе него пораза
б) број екипа које немају пораз у првенству
(садржај на главној дијагонали занемарите)?
Решење:
а)
#include<stdio.h>
int a[10][10];
int brojp[10];
int broji[10];
main()
{
int i,j,n,bp,bi;
bi=0;
bp=0;
printf(„Unesi broj ekipa“);
scanf(„%d“,&n);
/*Unos elemenata matrice*/
for (i=0;i<n;i++)
{
printf(„Rezultate ekipe[%d]“,i+1);
for (j=0;j<n;j++)
scanf(„%d“,&a[i][j]);
printf(„\n“);
}
/* ukupno pobeda i poraza ekipa */
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
if((i!=j) && (a[i][j]==2))
{
bp++;
}
else
{
if ((i!=j) && (a[i][j]==0))
bi++;
}
/*printf(„pobede ekipe[%d] %d\n“,i+1,bp);*/
/*printf(„porazi ekipe[%d] %d\n“,i+1,bi); */
brojp[i]=bp;
broji[i]=bi;
bp=0;
bi=0;
}
/*broj pobeda i poraza*/
for(i=0;i<n;i++)
{if (brojp[i]>broji[i])
bp++;
else
bi++;
}
if (bp>=bi)
printf(„Vise pobeda nego poraza imaju %d ekipe“,bp);
else
printf(„Ne postoje ekipe sa vise pobeda od poraza“);
return 0;
}
б) број екипа без пораза
#include<stdio.h>
int a[10][10];
int brojp[10];
int broji[10];
main()
{
int i,j,n,bp,bi;
bi=0;
bp=0;
printf(„Unesi broj ekipa“);
scanf(„%d“,&n);
/*Unos elemenata matrice*/
for (i=0;i<n;i++)
{
printf(„Rezultate ekipe[%d]“,i+1);
for (j=0;j<n;j++)
scanf(„%d“,&a[i][j]);
printf(„\n“);
}
/* ukupno pobeda i poraza ekipa */
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
if((i!=j) && (a[i][j]==2))
{
bp++;
}
else
{
if ((i!=j) && (a[i][j]==0))
bi++;
}
/*printf(„pobede ekipe[%d] %d\n“,i+1,bp);*/
/*printf(„porazi ekipe[%d] %d\n“,i+1,bi); */
brojp[i]=bp;
broji[i]=bi;
bp=0;
bi=0;
}
/*broj pobeda i poraza*/
for(i=0;i<n;i++)
{
if (brojp[i]>=n-1)
bp++;
}
printf(„Broj ekipa bey poraza je %d „,bp);
return 0;
}
Задатак2. Направите програм који креира јединичну матрицу А(nxn), за n<10?
Решење:
(матрица је јеинична ако ван главне дијагонале има нуле, а на дијагонали јединице)
#include<stdio.h>;
int a[10][10];
main()
{
int i,j,n;
printf(„Unesite broj vrst(kolona)matrice?“);
scanf(„%d“,&n);
/*Kreiranje jedinecne matrice reda n*/
for (i=0;i<n;i++)
a[i][i]=1;
/*Prikaz jedinicne matrice*/
for(i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf(„%d“,a[i][j]);
printf(„\n“);
}
return 0;
}
Задатак3. дата је матрицакоја има м редова и н колона, Направите програм који сумира елементе матрице на дијагонали?
Решење:
#include<stdio.h>
float a[10][10];
main()
{
int i,j,m,n;
float suma=0.0;
printf(„Unesite broj vrsta\n“,m);
scanf(„%d“,&m);
printf(„Unesi broj kolona\n“,n);
scanf(„%d“,&n);
/*Unos elemenata matrice*/
for (i=0;i<m;i++)
{
printf(„Unesi elemente %d vrste\n“,i+1);
for (j=0;j<n;j++);
scanf(„%f“,&a[i][j]);
}
for (i=0;i<m;i++)
{
for (j=0;j<n;j++)
suma+=a[i][i];
}
printf(„zbir elemenata matrice a na glavnoj dijagonali je%d „,suma);
return 0 ;
}