Програмиране и използване на компютри. Програмиране на С++
Условие на задачата:
Дадени са четири таблици,в които са записани цели шест цифрени положителни числа. Таблиците имат M реда и N колони(3 ≤ M≤10 и 3≤ N≤5).Напишете програма, с която от тях да се създадат нови четири таблици. Новите таблици да включват на съответното място число,което е получено от това в дадената таблица по следния алгоритъм:
- записва се произведението от цифрите на числото, ако то е четно и в някои от разрядите му не се съдържа цифрата 0;
- записва се сборът от цифрите на числото, ако то е нечетно.
Програмата за всяка таблица да определя най-малкото число по редове и най-голямото число по колони и тяхното място в таблицата.
Задачата е за многомерни масив,който е с M реда и N колони.Като 3 ≤ M≤10 и 3≤ N≤5.В началото на програмата са дефинирани външни променливи(int m,n,i,j),които са достъпни за всички функции.Първата функция е void enter( с формални параметри(int m1,int n1,long*a)),която въвежда масива по редове и по стълбове.Следващата функция е void exit-тя извежда на екрана новите таблици.
void sbpr с формални параметри( int m1, int n1, long* a, long* a1)-тя пресмята произведението от цифрите на числата в таблиците. Проверява се дали то е четно и дали в разрядите му не се съдържа цифрата 0. След това се записва сборът от цифрите на числото, като предварително се прави проверка дали то е нечетно.
long min(int m1, int n1, long* a1)-е функция,която определя най-малкото число по редове.
long max (int m1, int n1, long* a1)-служи за намиране на най-голямото число по колони.
int main-главната функция,чрез нея се въвеждат броя на колоните и редовете,избрани от нас съгласно условието. След
като сме въвели всичките шест цифрени положителни числа за всяка таблица, главната функция изчислява новите числа за новите четири таблици. Извежда ги на екрана, след което намира най-големите числа по редове и колони.
Локални променливи дефинирани в различните функции са:
- във void enter и void exit това е променливата указател long*a;
- във void sbpr-k ,t ,s ,p , b;
- в long min-mn , r;
- в long max-mx;
- в главната функция int main-int m1,long*a,long*b,long*c,long*d,long*a1,long*b1,long*d1,long*d1;
Текст на програмата на С++:
#include “stdafx.h”
#include
using namespace std;
int m,n,i,j;
void enter(int m1, int n1, long* a)
{
for(i=0; i
for(j=0; j
{
cout<<”["<<<"]["<<<"]= “;cin>>a[i, j];
}
}
void exit(int m1, int n1, long* a)
{
for(i=0; i
{
for(j=0; j
cout<<<” “;
cout<
}
}
void sbpr(int m1, int n1, long* a, long* a1 )
{
for(i=0; i
for(j=0; 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
{
mn=a1[i, 0]; r=1;
for(j=1; j
if(a1[i, j]
{
mn=a1[i, j];
r=j+1;
}
cout<<” row “<<<”, minimum element: “<<<”, where number: “<<
}
return 0;
}
long max(int m1, int n1, long* a1)
{
int mx, r;
for(j=0; j
{
mx=a1[0,j];
r=1;
for(i=1; i
if(a1[i, j]>mx )
{
mx=a1[i, j];
r=i+1;
}
cout<<” column “<<<”, maximum element “<<<”, where number: “<<
}
return mx;
}
int main()
{
int m1,n1;
cout<<”Broi rowove: “;
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: “<
enter(m1, n1, a);
cout<<”Vavedete elementite na vtorata tablica: “<
enter(m1, n1, b);
cout<<”Vavedete elementite na tretata tablica: “<
enter(m1, n1, c);
cout<<”Vavedete elementite na chetvartata tablica: “<
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<
exit(m1, n1, a1);
min(m1, n1, a1);
max(m1,n1,a1);
cout<
exit(m1, n1, b1);
min(m1, n1, b1);
max(m1,n1,b1);
cout<
exit(m1, n1, c1);
min(m1, n1, c1);
max(m1,n1,c1);
cout<
exit(m1, n1, d1);
min(m1, n1, d1);
max(m1,n1,d1);
cout<
return 0;
}
Тестов пример,илюстриращ работата на програмата:
Broi rowove: 3
Broi koloni: 3
Vavedete elementite ot parvata tablica:
[0][0]=124503
[0][1]=210356
[0][2]=214589
[1][0]=320021
[1][1]=124589
[1][2]=258960
[2][0]=203010
[2][1]=147852
[2][2]=123654
Vavedete elementite na vtorata tablica:
[0][0]=852741
[0][1]=236589
[0][2]=258961
[1][0]=235689
[1][1]=215487
[1][2]=259631
[2][0]=258963
[2][1]=258741
[2][2]=369062
Vavedete elementite na tretata tablica:
[0][0]=124589
[0][1]=125062
[0][2]=205014
[1][0]=201034
[1][1]=157412
[1][2]=258741
[2][0]=314679
[2][1]=917382
[2][2]=214785
Vavedete elemetite na chetvartata tablica:
[0][0]=914637
[0][1]=134679
[0][2]=614372
[1][0]=258711
[1][1]=325488
[1][2]=214569
[2][0]=842369
[2][1]=213147
[2][2]=851472
0 2240 720
0 2240 720
0 2240 720
row 1, minimum element : 0, where number: 1
row 1, minimum element : 0, where number: 1
row 1, minimum element : 0, where number: 1
column 1, maximum element 0, where number: 1
column 2, maximum element 2240, where number: 1
column 3, maximum element 720, where number: 1
33 27 12960
33 27 12960
33 27 12960
row 1, minimum element : 27, where number: 2
row 2, minimum element : 27, where number: 2
row 3, minimum element : 27, where number: 2
column 1, maximum element 33, where number: 2
column 2, maximum element 27, where number: 2
column 3, maximum element 12960, where number: 2
30 3024 27
30 3024 27
30 3024 27
row 1, minimum element : 27, where number: 3
row 2, minimum element : 27, where number: 3
row 3, minimum element : 27, where number: 3
column 1, maximum element 30, where number: 1
column 2, maximum element 3024, where number: 1
column 3, maximum element 27, where number: 1
32 18 2240
32 18 2240
32 18 2240
row 1, minimum element : 18, where number: 2
row 2, minimum element : 18, where number: 2
row 3, minimum element : 18, where number: 2
column 1, maximum element 32, where number: 1
column 2, maximum element 18, where number: 1
column 3, maximum element 2240, where number: 1
Сходни статии:
- СА Алгоритми Задание: Около кръгла маса са наредени n на брой човека, номерирани последователно с числата от 1 до n. След това започвайки от номер 1, всеки трети напуска масата, докато накрая...
- Програмиране от по-висок ред в C++ Функция, някои формални параметри на която са функции, се нарича функция от по-висок ред. В езика C++ е възможно формален параметър на функция да е указател към функция, а също...
- Програмиране в C и C++ Кодирането или съставянето на програмата е реализация на алгоритмите чрез език за програмиране. Езиците за програмиране от високо ниво, какъвто е и програмният език C, се характеризират със задължителни синтактични...
- Опашка в C++ В настоящата курсова работа ще бъде представена абстрактната структура опашка и ще бъде представена примерна нейна реализация. Кодът представен в този реферат е написан от автора и се компилира успешно...
- Търсене на нов елемент по ключ и добавяне на нов елемент в свързан списък void search ( student *first, unsigned key, float value ) // студент с ф. № key и с value се задава новия му успех { student *ptr = first; while...