Rešitev LAV 19
Умови завершення
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void beri(int t[3][4],int x,int y)
{
int i,j;
for (i=0;i<x;i++)
for (j=0;j<y;j++)
{ printf("Vnesi vrednost: ");
scanf("%d",&t[i][j]);
}
}
void izpis(int t[3][4],int x,int y)
{
int i,j;
for (i=0;i<x;i++)
{
for (j=0;j<y;j++)
printf("%2d",t[i][j]);
printf("\n");
}
}
int vsota(int t[3][4],int x,int y)
{
int i,j,v=0;
for (i=0;i<x;i++)
for (j=0;j<y;j++)
v+=t[i][j];
return v;
}
int max(int t[3][4],int x,int y)
{
int i,j,m=t[0][0];
for (i=0;i<x;i++)
for (j=0;j<y;j++)
if (t[i][j] > m)
m= t[i][j];
return m;
}
void max_index(int t[3][4],int x,int y, int *p, int *k)
{
int i,j,m=t[0][0];
*p=0;
*k=0;
for (i=0;i<x;i++)
for (j=0;j<y;j++)
if (t[i][j] > m)
{
m= t[i][j];
*p=i;
*k=j;
}
}
char nakljucno(void)
{
if (rand()%2 == 0)
return rand()%26 + 97;
else
return rand()%26 + 65;
}
void generiraj_s(char t[9][9],int n)
{
int i,j;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{
if ((i==0) || (i==n/2) || (i==n-1))
t[i][j] = nakljucno();
else if ((j==0)&&((i>0)&&(i<n/2)))
t[i][j] = nakljucno();
else if ((j==n-1)&&((i>n/2)&&(i<n-1)))
t[i][j] = nakljucno();
else
t[i][j] = ' ';
}
}
void sestej(int a[3][4], int b[3][4], int c[3][4],int x,int y)
{
int i,j;
for (i=0;i<x;i++)
for (j=0;j<y;j++)
c[i][j] = a[i][j] + b[i][j];
}
void izpis_s(char t[9][9],int n)
{
int i,j;
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%2c",t[i][j]);
printf("\n");
}
}
int main(void)
{
int p[3][4],p2[3][4],p3[3][4];
char t[9][9];
char c;
int x,y;
srand(time(NULL));
do
{
printf("***********MENI***********\n");
printf("1. vnos in izpis podatkov\n");
printf("2. vsota stevil\n");
printf("3. najvecje stevilo\n");
printf("4. pozicija najvecjega stevila\n");
printf("5. S v tabeli\n");
printf("6. sestevek dveh tabel\n");
printf("0. izhod iz programa\n");
printf("Izbira > ");
scanf("%c",&c);
switch (c)
{
case '1':
beri(p,3,4);
izpis(p,3,4);
break;
case '2':
printf("Vsota vseh celic je %d\n",vsota(p,3,4));
break;
case '3':
printf("Najvecja vrednost v tabeli je %d\n",max(p,3,4));
break;
case '4':
max_index(p,3,4,&x,&y);
printf("Najvecja vrednost se nahaja na %d %d\n",x,y);
break;
case '5':
generiraj_s(t,9);
izpis_s(t,9);
break;
case '6':
beri(p2,3,4);
sestej(p,p2,p3,3,4);
izpis(p3,3,4);
break;
}
} while (c != '0');
return 0;
}
#include <stdlib.h>
#include <time.h>
void beri(int t[3][4],int x,int y)
{
int i,j;
for (i=0;i<x;i++)
for (j=0;j<y;j++)
{ printf("Vnesi vrednost: ");
scanf("%d",&t[i][j]);
}
}
void izpis(int t[3][4],int x,int y)
{
int i,j;
for (i=0;i<x;i++)
{
for (j=0;j<y;j++)
printf("%2d",t[i][j]);
printf("\n");
}
}
int vsota(int t[3][4],int x,int y)
{
int i,j,v=0;
for (i=0;i<x;i++)
for (j=0;j<y;j++)
v+=t[i][j];
return v;
}
int max(int t[3][4],int x,int y)
{
int i,j,m=t[0][0];
for (i=0;i<x;i++)
for (j=0;j<y;j++)
if (t[i][j] > m)
m= t[i][j];
return m;
}
void max_index(int t[3][4],int x,int y, int *p, int *k)
{
int i,j,m=t[0][0];
*p=0;
*k=0;
for (i=0;i<x;i++)
for (j=0;j<y;j++)
if (t[i][j] > m)
{
m= t[i][j];
*p=i;
*k=j;
}
}
char nakljucno(void)
{
if (rand()%2 == 0)
return rand()%26 + 97;
else
return rand()%26 + 65;
}
void generiraj_s(char t[9][9],int n)
{
int i,j;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
{
if ((i==0) || (i==n/2) || (i==n-1))
t[i][j] = nakljucno();
else if ((j==0)&&((i>0)&&(i<n/2)))
t[i][j] = nakljucno();
else if ((j==n-1)&&((i>n/2)&&(i<n-1)))
t[i][j] = nakljucno();
else
t[i][j] = ' ';
}
}
void sestej(int a[3][4], int b[3][4], int c[3][4],int x,int y)
{
int i,j;
for (i=0;i<x;i++)
for (j=0;j<y;j++)
c[i][j] = a[i][j] + b[i][j];
}
void izpis_s(char t[9][9],int n)
{
int i,j;
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%2c",t[i][j]);
printf("\n");
}
}
int main(void)
{
int p[3][4],p2[3][4],p3[3][4];
char t[9][9];
char c;
int x,y;
srand(time(NULL));
do
{
printf("***********MENI***********\n");
printf("1. vnos in izpis podatkov\n");
printf("2. vsota stevil\n");
printf("3. najvecje stevilo\n");
printf("4. pozicija najvecjega stevila\n");
printf("5. S v tabeli\n");
printf("6. sestevek dveh tabel\n");
printf("0. izhod iz programa\n");
printf("Izbira > ");
scanf("%c",&c);
switch (c)
{
case '1':
beri(p,3,4);
izpis(p,3,4);
break;
case '2':
printf("Vsota vseh celic je %d\n",vsota(p,3,4));
break;
case '3':
printf("Najvecja vrednost v tabeli je %d\n",max(p,3,4));
break;
case '4':
max_index(p,3,4,&x,&y);
printf("Najvecja vrednost se nahaja na %d %d\n",x,y);
break;
case '5':
generiraj_s(t,9);
izpis_s(t,9);
break;
case '6':
beri(p2,3,4);
sestej(p,p2,p3,3,4);
izpis(p3,3,4);
break;
}
} while (c != '0');
return 0;
}
Остання зміна: середу 26 лютого 2014 03:47 AM