Здравейте,имам да пиша една курсова работа на С++.Трябва ми блок-схема на алгоритъма за ре6аване на задачата.Става въпрос за чертеж на алгоритъм.. Задачата е следната:
Дадени са четири таблици,в които са записани цели шест цифрени положителни числа.Таблиците имат M реда и N колони(3 ≤ M≤10 и 3≤ N≤5).Напишете програма,с която от
тях да се създадат нови четири таблици.новите таблици да
включват на съответното място число,което е получено от това в дадената таблица по следния алгоритъм:
• записва се произведението от цифрите на числото,ако то е четно и в някои от разрядите му не се съдържа цифрата 0;
• записва се сборът от цифрите на числото,ако то е нечетно.
Програмата за всяка таблица да определя най-малкото число по редове и най-голямото число по колони и тяхното място в таблицата.
сорс-кода е следния:
#include <stdio.h>
#include <iostream>
using namespace std;
int m,n,i,j;
void enter(int m1, int n1, long* a)
{
for(i=0; i<m1; i++)
for(j=0; j<n1;j++)
{
cout<<"["<<i<<"]["<<j<<"]= ";cin>>a[i, j];
}
}
void izhod(int m1, int n1, long* a)
{
for(i=0; i<m1; i++)
{
for(j=0; j<n1;j++)
cout<<a[i, j]<<" ";
cout<<endl;
}
}
void sbpr(int m1, int n1, long* a, long* a1 )
{
for(i=0; i<m1; i++)
for(j=0; j<n1;j++)
{
long k=a[i, j]; int t=0; long s, p; s=0; p=1;
while(k!=0)
{int b=k%10; s+=b; p*=b;
if(k==0) t=1;
k=k/10;
}
if((a[i, j]%2==0) && t==0) a1[i, j]=p;
if(a[i, j]%2!=0) a1[i, j]=s;
}
}
long min(int m1, int n1, long* a1)
{
int mn, r;
for(i=0; i<m1; i++)
{
mn=a1[i, 0]; r=1;
for(j=1; j<n1;j++)
if(a1[i, j]<mn )
{
mn=a1[i, j];
r=j+1;
}
cout<<" red "<<i+1<<", minimalen element: "<<mn<<", s nomer: "<<r<<endl;
}
return 0;
}
long max(int m1, int n1, long* a1)
{
int mx, r;
for(j=0; j<n1;j++)
{
mx=a1[0,j];
r=1;
for(i=1; i<m1; i++)
if(a1[i, j]>mx )
{
mx=a1[i, j];
r=i+1;
}
cout<<" kolona "<<j+1<<", maksimalen element "<<mx<<", s nomer: "<<r<<endl;
}
return mx;
}
int main()
{
int m1,n1;
cout<<"Broi redove: ";
cin>>m1;
cout<<"Broi koloni: ";
cin>>n1;
long* a = new long[m1, 5];
long* b = new long[m1, 5];
long* c = new long[m1, 5];
long* d = new long[m1, 5];
long* a1 = new long[m1, 5];
long* b1 = new long[m1, 5];
long* c1 = new long[m1, 5];
long* d1 = new long[m1, 5];
cout<<"Vavedete elementite na parvata tablica: "<<endl;
enter(m1, n1, a);
cout<<"Vavedete elementite na vtorata tablica: "<<endl;
enter(m1, n1, b);
cout<<"Vavedete elementite na tretata tablica: "<<endl;
enter(m1, n1, c);
cout<<"Vavedete elementite na chetvartata tablica: "<<endl;
enter(m1, n1, d);
sbpr(m1, n1, a, a1);
sbpr(m1, n1, b, b1);
sbpr(m1, n1, c, c1);
sbpr(m1, n1, d, d1);
cout<<endl;
izhod(m1, n1, a1);
min(m1, n1, a1);
max(m1,n1,a1);
cout<<endl;
izhod(m1, n1, b1);
min(m1, n1, b1);
max(m1,n1,b1);
cout<<endl;
izhod(m1, n1, c1);
min(m1, n1, c1);
max(m1,n1,c1);
cout<<endl;
izhod(m1, n1, d1);
min(m1, n1, d1);
max(m1,n1,d1);
cout<<endl;
system("pause");
return 0;
}
блок-схемата може да се начертае в power point дори,няма никакви изисквания на какво 6те е начертана.Моля ви ударете едно рамо!