else//В іншому випадку
{
A[i][0]=s; //Заданому елементу масива А присвоюємо значення s
}
cout<<A[i][j]<<" ";//Виводимо елементи масива через пробіл
}
cout<<"\n";//Переводимо курсор на новий рядок
k+=1; //До значення перемінної k додаємо одиницю
}
cout<<"\n";//Переводимо курсор на новий рядок
}//Кінець функції main()
2.17Вивід матриці В(М;N)
Програма Proga17.срр призначена для виводу матриці В(M;N), елементами якої є випадкові числа, рівномірно розташовані в інтервалі (-5;7). Переставляючи її рядки та стовпці, домогтися того, щоб найбільший елемент матриці виявився в правому нижньому куті
Вхідні дані: масив чисел В (тип int)
параметри М,N (тип int)
Вихідні дані: матриця В певного вигляду
#include<iostream.h> //Підключаємо бібліотеки iostream.h,
#include<math.h> //math.h
#include<stdlib.h>// та stdlib.h
void main() //оголошуємо головну функцію main()
{
int B[100][100]; //Оголошуємо масив В типу int, та перемінні
int i,a,b,N,M,W,x,y,j, max=-5;// i,a,b,N,M,W,x,y,j, max=-5 типу
//int. Перемінній max присвоюємо початкове значення -5
cout<<"Скількі рядків буде у вашій матриці? "; //Даємо запит
cin>>M; //Вводимо кількість рядків матриці
cout<<" Скількі стовбців буде у вашій матриці? "; //Даємо запит
cin>>N; //Вводимо кількість стовбців матриці
cout<<"Ось ваша матриця: "<<"\n\n"; //Виводимо повідомлення
for(i=0; i<M; i++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до М кроком 1
for(j=0;j<N;j++) //Задаємо цикл для проходження значень
{ //параметра j від 0 до N кроком 1
B[i][j]=(rand()%13)-5; //Заповнюємо масив В випадковими
cout<<B[i][j]<<" "; //числами в інтервалі (-5;7)
}
cout<<"\n"; //Переводимо курсор на новий рядок
}
for(i=0;i<M;i++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до М кроком 1
for(j=0;j<N;j++)//Задаємо цикл для проходження значень
//параметра j від 0 до N кроком 1
if(B[i][j]>max) //Умова: якщо елемент масиву В >max,
{
max=B[i][j];//перемінній max присвоюємо значення елементаB[i][j]
x=i;//перемінній x присвоюємо значення параметра і
y=j;//перемінній y присвоюємо значення параметра j
}
}
cout<<"\n"<<"max. елемент="<<max<<"\n\n";//Виводимо найбільший елемент
//матриці
for(i=0;i<M;i++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до М кроком 1
a=B[i][y]; //перемінній а присвоюємо значення B[i][y]
B[i][y]=B[i][N-1];//Змінюємо значення елементів в масиві В
B[i][N-1]=a; //Значенню елемента матриці В присвоюємо
} //значення перемінної а
for(j=0;j<N;j++) //Задаємо цикл для проходження значень
{ //параметра j від 0 до N кроком 1
b=B[x][j]; //перемінній b присвоюємо значення B[x][j]
B[x][j]=B[M-1][j]; //Змінюємо значення елементів в масиві В
B[M-1][j]=b; //Значенню елемента матриці В присвоюємо
}//значення перемінної b
cout<<"Змінена матриця:"<<"\n\n";//Виводимо повідомлення
for(i=0;i<M;i++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до М кроком 1
for(j=0;j<N;j++) //Задаємо цикл для проходження значень
{//параметра j від 0 до N кроком 1
cout<<B[i][j]<<" "; //Виводимо елементи матриці В
}
cout<<"\n"; //Переводимо курсор на новий рядок
}
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.18 Знаходження найбільшого з від’ємних чисел матриці
Програма Proga18.срр призначена для знаходження найбільшого з від’ємних чисел матриці А(85), рівномірно розподілених в інтервалі [-20;10]
Вхідні дані: масив чисел А (тип int)
Вихідні дані: параметр min (тип int)
#include<iostream.h> //Підключаємо бібліотеки iostream.h,
#include<stdlib.h> //та stdlib.h
void main() //оголошуємо головну функцію main()
{
int A[85], i,min=10, s,W;//Оголошуємо масив цілих чисел А, та
//перемінні і,s,W,min типу int
s=0; //Перемінній s присвоюємо початкове значення 0
for(i=0; i<85; i++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до 85 кроком 1
A[i]=(rand()%31)-20;//Заповнюємо матрицю А випадковими числами
cout<<A[i]<<" "; //Виводимо елементи матриці А на екран
}
cout<<'\n'; //Переводимо курсор на новий рядок
for(i=0;i<85;i++) //Задаємо цикл для проходження значень
{ //параметра і від 0 до 85 кроком 1
if(A[i]<0) //Умова: якщо елемент матриці А менше 0,
{ if (A[i]<min) min=A[i];} //та якщо він менше значення min,
} //перемінній min присвоюємо значення і-го елемента матриці А
cout<<"\n"<<"max="<<min<<"\n"; //Виводимо відповідь
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.19Знаходження найбільшого значення напруги в електромережі
Програма Proga19.срр призначена для знаходження найбільшого значення напруги в електромережі в інтервалі (20,6)годин та часу, якщо протягом доби кожну годину були проведені 24 заміра напруги
Вхідні дані: масив чисел А (тип int)
Вихідні дані: параметр mахМ (тип int)
#include<iostream.h> //Підключаємо бібліотеки iostream.h,
#include<math.h>//math.h та
#include<stdlib.h> //stdlib.h
void main() //оголошуємо головну функцію main()
{
int maxN,i,maxM,N,M,W; //Оголошуємо перемінні maxN,i,maxM,N,M,W
int A[23]={0}; // типу int, та масив цілих чисел А
for(i=0;i<=23;i++) //Заповнюємо масив А випадковими числами
A[i]=(rand()%450)-200; //в інтервалі (200;250)
maxN=200; //Переміннії maxN присвоюємо початкове значення 200
for(i=0;i<6;i++) //Задаємо цикл
if(A[i]>=maxN) //Умова: якщо елемент масива А > або = maxN,
{
maxN=A[i]; //перемінній maxN присвоюємо значення і-го елементу А
N=(i+1); //Перемінній N присвоюємо значення (і+1)
}
for(i=19;i<24;i++) //Задаємо цикл
if(A[i]>=maxM) //Умова: якщо елемент масива А > або = maxМ,
{
maxM=A[i]; //перемінній maxМ присвоюємо значення і-го елементу А
M=(i+1); //Перемінній М присвоюємо значення (і+1)
}
if(maxN>=maxM)//Умова: якщо значення maxN > значення maxN, виводимо
cout<<"Напруга="<<maxN<<" вольт о "<<N<<" годині ранку"<<"\n";
else cout<<"Напруга="<<maxM<<"вольт о"<<M<<"годині вечора"<<"\n";
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n"; //Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.20 Знаходження першого члену послідовності
Програма Proga20.срр призначена для знаходження першого члену послідовності
, n = 1, 2, … ,який не належить відрізку [А,В], якщо задані числа А<0 та B>0 типу doubleВхідні дані: параметри А та В (тип double)
Вихідні дані: параметр і (тип int)
#include<iostream.h> //Підключаємо бібліотеки iostream.h
#include<math.h>//та math.h
void main()//оголошуємо головну функцію main()
{
int N=100,i;//Оголошуємо перемінні N=100,і цілого типу
double S,a,A,B,W; //та перемінні S,a,A,B,W типу double
cout<<"ВведітьA<0: ";//Вводимо запит
cin>>A;//вводимо число А<0
cout<<"Введіть B>0: ";//Вводимо запит
cin>>B;//вводимо число B>0
S=0;//Перемінній s присвоюємо початкове значення 0
for(i=1;i<=N;i++)//Задаємо цикл для проходження значень
{ //параметра і від 0 до N кроком 1
S+=(pow(-1,i))*((sqrt(2)+i));//Знаходимо s за вказаною формулою
a=S;//Перемінній а присвоюємо значення перемінної s
if((a<=A)||(a>=B)) //Умова: якщо значення перемінної а < або =
{//значенню перемінної А, та > або = значенню перемінної В, виводимо
cout<<i<<" член послідовності= "<<a<<" неналежитьвідрізку [A;B]"\n;
gotop;//Звертаємося до мітки р
}
else ;}//В іншому разі нічого не відбувається
p:; //Мітка р:
cout<<"\n"<<"Для виходу введіть EXIT:"<<"\n";//Даємо запит
cin>>W; //Вводимо зайву перемінну W для затримки екрану
} //Кінець функції main()
2.21 Видалення пробілів з рядка
Програма Proga21.срр призначена для стискання рядка шляхом видалення пробілів з тексту
Вхідні дані: рядок символів S (тип char)
Вихідні дані: стиснутий рядок S (тип Char)
Блок-схема до програми Proga21.срр представлена на рисунку 2.6
#include<conio.h>//Підключаємо бібліотеки conio.h
#include<stdio.h>//та stdio.h
void main() //оголошуємо головну функцію main()
{
char S[80],i; //оголошуємо символьний масив з 80 елементів та
// символьну перемінну i
printf("Введіть ваш рядок. В кінці поставте @:\n");//Вводимо рядок,
gets(S); //який закінчується на @
i=0; //Задаємо початкове значення параметра i
while((S[i]!='@'))
{
if (S[i]==' ') //Задаємо умову знаходження пробіла в рядку
printf("%*",S[i+1]); //якщо пробіл знайдений, пропускаємо його
//та виводимо наступні елементи попорядку
else printf("%c",S[i]); //якщо пробіла немає, виводимо даний // елемент на свойому місці
i+=1; //Збільшуємо лічильник на одиницю
}
printf("\n"); //Переводимо курсор на новий рядок
getch(); //Затримуємо екран
}//Кінець функції main()
Рисунок 2.6 Блок-схема алгоритму до програми Proga21.срр
2.22Знаходження кількості вказаних символів
Програма Proga22.срр призначена для знаходження кількості вказаних символів в заданому рядку
Вхідні дані: рядок символів STRING (тип char)
вказаний символ N (типchar)
Вихідні дані: кількість вказаних символів g(тип int)
#include<iostream.h> //Підключаємо бібліотеку iostream.h
char kol(char S[100],char a) //Оголошуємо функцию kol,яка по заданому
{//рядку S та вказаному символу “а”
int h,result=0;// знаходить кількість символів “а” , які
//зустрічаються в рядку S
for (h=0;S[h]+='\0';h++)
{if (S[h]==a) result+=1;}
return result;