Дводимензионални низови (матрице)- решени задаци!

Задатак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 ;
}

 

Ostavite odgovor

Popunite detalje ispod ili pritisnite na ikonicu da biste se prijavili:

WordPress.com logo

Komentarišete koristeći svoj WordPress.com nalog. Odjavi se /  Promeni )

Fejsbukova fotografija

Komentarišete koristeći svoj Facebook nalog. Odjavi se /  Promeni )

Povezivanje sa %s