ВТУ Тодор Каблешков

Неофициален форум.
 
ИндексPortalCalendarВъпроси/ОтговориТърсенеРегистрирайте сеПотребителиПотребителски групиВход

Share | 
 

 ударете едно рамо за една програма

Предишната тема Следващата тема Go down 
АвторСъобщение
vikitopr



Брой мнения : 1
Registration date : 20.11.2009

ПисанеЗаглавие: ударете едно рамо за една програма   Пет Ное 20, 2009 2:34 pm

Здравейте,имам да пиша една курсова работа на С++.Трябва ми блок-схема на алгоритъма за ре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те е начертана.Моля ви ударете едно рамо!
Върнете се в началото Go down
Вижте профила на потребителя
jojo
Silver user
Silver user


Male
Брой мнения : 43
Location : sf
Registration date : 15.11.2008

ПисанеЗаглавие: Re: ударете едно рамо за една програма   Съб Ное 21, 2009 7:15 pm

autoflowchart
приятелче,ей тази програмка би могла да ти помогне,стига да я използваш умно,а не директно и ако си навътре в материал е нужно да направиш леки корекции.
Защото наистина тези блок-схеми са досадни,но поне те карат да мислиш...ама айде сега...('Rolling Eyes') study
По този начин както е написана програмата и ако ти работи правилно ок,иначе ако не ти тръгва виж на 3-ти ред и на 119-ти.

дано съм ти помогнал малко
Върнете се в началото Go down
Вижте профила на потребителя
 
ударете едно рамо за една програма
Предишната тема Следващата тема Върнете се в началото 
Страница 1 от 1

Permissions in this forum:Не Можете да отговаряте на темите
ВТУ Тодор Каблешков :: Катедри :: Катедра: Математика и информатика-
Идете на: