Здравейте,
Имам следния проблем, трябва да направя блок-схема на програма на С, но си нямам понятие от програмиране ще съм ви благодарен ако ми окажете съдействие! Ето и програмата:
Дадени са три двумерни масива A[M,N], B[M,N], C[M,N] (M20, N20 M и N се въвеждат от клавиатурата) с реални елементи. Да се разработят разработят три функции за изпълнение на следните действия:
- въвеждане на елементи за масивите;
- отпечатване на въведените елементи в масивите;
- сортиране на масивите във възходящ ред по редове и определяне на номера на реда с най- голям по стойност максимален елемент;
В главната функция потребителските функции се извикват последователно за всеки масив.
Благодаря предварително!
само да допълня, че успях да се сдобия с код, за който не съм сигурен, че е точно за тази задача. Ето го и него:
#include <stdio.h>
#include <stdlib.h>
int M,N;
void Read(float mass[20][20])
{
int i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%f",&mass[j]);
}
void Write(float mas[20][20])
{
int i,j;
printf("\n");
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%6.3f ",mas[j]);
printf("\n");
}
}
void MaxEl(float mass[20][20])
{
int i,j,k,maxrow;
float m;
maxrow=0;
for(i=0;i<M;i++)
{
for(j=0;j<N-1;j++)
for(k=1;k<N;k++)
if(mass[k]<mass[j])
{
m=mass[k];
mass[k]=mass[j];
mass[j]=m;
}
if(mass[N-1]>mass[maxrow][N-1])
maxrow=i;
}
Write(mass);
printf("\n Nomer na red s Max El: %d \n\n",maxrow+1);
}
int main(int argc, char *argv[])
{
do
{
printf("M(1..20)=");
scanf("%d",&M);
}
while(M<=0||M>20);
do
{
printf("N(1..20)=");
scanf("%d",&N);
}
while(N<=0||N>20);
float A[20][20],B[20][20],C[20][20];
Read(A);
Write(A);
MaxEl(A);
Read(B);
Write(B);
MaxEl(B);
Read©;
Write©;
MaxEl©;
system("PAUSE");
return 0;
}
Доколкото знам на езика С няма return 0; и точно затова имам съмнение, че програмния код няма да се хареса на моя преподавател. В момента чета книга относно програмирането, но съм в начален етап, така че вашата помощ ще ми е много полезна.