- •Этапы разработки программы Программирование — это процесс создания (разработки) программы, который может быть представлен как последовательность нескольких этапов.
- •II. Языки программирования
- •Трансляторы
- •IV. Линейные алгоритмы
- •VI. Циклические алгоритмы
- •VII. Массивы данных
- •16. Ввести с помощью датчика случайных чисел и вывести на печать элементы массива.
- •20. Задан массив целых чисел a[n]. Определить количество положительных элементов в нем и вычислить их сумму.
- •22. Определить количество положительных, отpицательных и pавных нулю чисел в заданном массиве a[I].
- •23. Задан массив целых чисел a[I]. Определить количество положительных и отpицательных элементов в нем и вычислить их суммы.
- •24. Задан массив целых чисел a[n]. Опpеделить количество элементов, pасполо женных до пеpвого отpицательного.
- •25. Опpеделить является ли сумма элементов заданного массива X[I] четным числом.
- •26. Задан массив целых чисел a[n]. Cфоpмиpовать массив b[n], записав в него сначала все отpицательные элементы массива a[n], а эатем все остальные.
- •27. Задан массив целых чисел X[I]. Опpеделить max элемент и его поpядковый номеp.
- •28. Задан массив целых чисел a[I]. Hайти минимальный элемент сpеди положительных.
- •31. Заданы два массива целых чисел a[I] и b[I] по n элементов в каждом. Вычислить попаpные пpоизведения элементов этих массивов и опpеделить минимальное пpоизведение.
- •32. Задан массив целых чисел a[n]. Опpеделить тpи наибольших элемента в нем.
- •35. Опpеделить количество положительных элементов в каждом столбце матpицы.
- •39. Опpедилить max элемент матpицы и записать нули в стpоку, в котоpой он находится.
- •40. Задана матpица целых чисел. Опpеделить max элемент главной диагонали матpицы и напечатать стpоку, в котоpой он находится.
- •41. Задана матpица целых чисел. Опpеделить min элемент матpицы и записать 0 в ту стpоку и столбец, на пеpесечении котоpых он находится.
- •42. Задано целое положительное число n. Cфоpмиpовать матpицу:
- •46. Дано n целых чисел. Напечатать k целых чисел в каждой строке.
- •VIII. Обработка символьной информации
- •IX. Сортировка данных
- •57. Задан массив слов. Выполнить соpтиpовку этих слов в алфавитном поpядке.
- •X. Функции
- •127994, Москва, ул. Образцова, 15.
57. Задан массив слов. Выполнить соpтиpовку этих слов в алфавитном поpядке.
О
бозначения:
a[n] - массив слов; n - количество слов; k,l
- параметры цикла; s - ячейка обмена.
//Программа №57
//Задан массив слов. Выполнить сортировку этих слов
//в алфавитном порядке.
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
char a[10][255];
char s[255];
int k,l,n;
cout << "Введите количество слов n=";
cin >> n;
cout << "\nВведите список слов:";
for (k=0; k<n; k++)
cin >> a[k];
l=0;
while (l <= (n-2))
{
for (k=0; k<(n-1); k++)
if (strcmp(a[k],a[k+1])>0)
{
strcpy(s,a[k]);
strcpy(a[k],a[k+1]);
strcpy(a[k+1],s);
}
l++;
}
cout << "\nОтсортированный список: ";
for (k=0; k<n; k++)
cout << a[k] << " ";
cout << "\n\n";
return 0;
}
X. Функции
58. Заданы матpицы целых чисел a,b,c. Вычислить суммы элементов в каждой из них.
Обозначения: a[k,l], b[k,l], c[k,l] - матрицы целых чисел; k,l - количество строк и столбцов матриц; i,j - номера строк и столбцов; sum_a, sum_b, sum_c - суммы элементов в матрицах a,b,c.




//Программа №58
//Заданы матрицы целых чисел a,b,c. Вычислить сумму
//элементов в каждой из них.
#include<iostream.h>
#include<stdlib.h>
const int z=10;
int i,j,k,l,a[z][z],b[z][z],c[z][z];
int sum_a,sum_b,sum_c;
INPT(int p[z][z]);
PRNT(int p[z][z]);
SUM(int [z][z], int s);
main()
{
cout << "Введите количество строк в матрицах k=";
cin >> k;
cout << "\nВведите количество столбцов в матрицах l=";
cin >> l;
cout << "\nВведите матрицу a[i,j]\n";
INPT(a);
cout << "\nВведите матрицу b[i,j]\n";
INPT(b);
cout << "\nВведите матрицу c[i,j]\n";
INPT(c);
//clrscr();
cout << "\nМатрица a[i,j]\n";
PRNT(a);
cout << "\nМатрица b[i,j]\n";
PRNT(b);
cout << "\nМатрица c[i,j]\n";
PRNT(c);
sum_a=SUM(a, sum_a);
sum_b=SUM(b, sum_b);
sum_c=SUM(c, sum_c);
cout << "\nСуммы элементов =" << sum_a << " " << sum_b << " " << sum_c << "\n\n";
return 0;
}
//----Функция ввода матрицы----
INPT(int p[z][z])
{
for (i=0; i<k; i++)
for (j=0; j<l; j++)
p[i][j]=rand()%10;
return (p[z][z]);
}
//---- Функция печати матрицы----
PRNT(int p[z][z])
{
for (i=0; i<k; i++)
{
for (j=0; j<l; j++)
cout << p[i][j] << " ";
cout << "\n";
}//for (i=0; i<k; i++)
return (p[z][z]);
}
//---- Функция вычисления суммы----
SUM(int p[z][z], int s)
{
s=0;
for (i=0; i<k; i++)
for (j=0; j<l; j++)
s+=p[i][j];
return s;
}
59. Задана матрица целых чисел. Вычислить сумму элементов в каждой строке матрицы.
Обозначения: a[c,l] - матрица целых чисел; c,l - количество строк и столбцов; i,j - номера строк и столбцов; s - сумма элементов в строке матрицы.




//Программа №59
//Заданна матрица целых чисел. Выислить сумму элементов в
//каждой строке.
#include "iostream.h"
#include "stdlib.h"
const z=50;
int i,j;
int k[z][z];
//Обьявление функций
INPT(int c,int l);
PRNT(int c, int l);
SUM(int b[z][z],int l);
//Основная программа
main ()
{
int c,l,s;
cout << "\nВведите количество строк c=";
cin >> c;
cout << "\nвведите количество столбцов l=";
cin >> l;
INPT(c,l);
cout << "\nИсходная матрица a[i][j]:\n";
PRNT(c,l);
for (i=0; i<c; i++)
{
s=SUM(k,l);
cout << "\nСумма в" << i << "строке =" << s;
}
cout << "\n\n";
return 0;
}
//Функция ввода матрицы
INPT(int c, int l)
{
for (i=0; i<c; i++)
for (j=0; j<l; j++)
k[i][j]=rand()%100;
return (k[c][l]);
}
//Функция печати матрицы
PRNT(int c,int l)
{
for (i=0; i<c; i++)
{
for (j=0; j<l; j++)
cout << k[i][j] << " ";
cout << "\n";
}
return (k[c][l]);
}
//Функция вычисления суммы в строке матрицы
SUM(int b[z][z],int l)
{
int sc;
sc=0;
for (j=0; j<l; j++)
sc+=b[i][j];
return (sc);
}
60. Заданы матpицы целых чисел a,b,c. Опpеделить максимальные элементы в каждой матpице.
Обозначения: a[k,l], b[k,l], c[k,l] - матрицы целых чисел; k,l - количество строк и столбцов матриц; i,j - номера строк и столбцов; max_a, max_b, max_c - максимальные элементы в матрицах a,b,c.




//Программа №60
//Заданы матрицы целых чисел a,b,c. Определить максимальные
//элементы в каждой матрице.
#include<iostream.h>
#include<stdlib.h>
const int z=50;
int i,j,k,l,a[z][z],b[z][z],c[z][z];
int max_a,max_b,max_c;
INPT(int p[z][z]);
PRNT(int p[z][z]);
MAX(int [z][z], int m);
main()
{
cout << "Введите количество строк в матрицах k=";
cin >> k;
cout << "\nВведите количество столбцов в матрицах l=";
cin >> l;
cout << "\nВведите матрицу a[i,j]\n";
INPT(a);
cout << "\nВведите матрицу b[i,j]\n";
INPT(b);
cout << "\nВведите матрицу c[i,j]\n";
INPT(c);
//clrscr();
cout << "\nМатрица a[i,j]\n";
PRNT(a);
cout << "\nМатрица b[i,j]\n";
PRNT(b);
cout << "\nМатрица c[i,j]\n";
PRNT(c);
max_a=MAX(a, max_a);
max_b=MAX(b, max_b);
max_c=MAX(c, max_c);
cout << "\nМаксимальные элементы матриц:";
cout << "\nmax a[i,j]=" << max_a;
cout << "\nmax b[i,j]=" << max_b;
cout << "\nmax c[i,j]=" << max_c << "\n\n";
return 0;
}
//---- Функция ввода матрицы----
INPT(int p[z][z])
{
for (i=0; i<k; i++)
for (j=0; j<l; j++)
p[i][j]=rand()%10;
return (p[z][z]);
}
//---- Функция печати матрицы----
PRNT(int p[z][z])
{
for (i=0; i<k; i++)
{
for (j=0; j<l; j++)
cout << p[i][j] << " ";
cout << "\n";
}//for (i=0; i<k; i++)
return (p[z][z]);
}
//---- Функция вычисления суммы----
MAX(int p[z][z], int m)
{
m=p[0][0];
for (i=0; i<k; i++)
for (j=0; j<l; j++)
if (m<=p[i][j]) m=p[i][j];
return m;
}
СОДЕРЖАНИЕ
|
I. Этапы разработки программы |
4 |
|
II. Языки программирования |
12 |
|
III. История алгоритмического языка С++ |
15 |
|
IV. Линейные алгоритмы |
16 |
|
V. Разветвляющиеся алгоритмы |
18 |
|
VI. Циклические алгоритмы |
21 |
|
VII. Массивы |
37 |
|
VIII. Обработка символьной информации |
125 |
|
IX. Сортировка данных |
138 |
|
X. Функции |
153 |
Св. план 2006 г., поз. 86
Нагинаев Валерий Николаевич
Основы алгоритмизации
и программирования на языке С++
Учебное пособие
Подписано Формат – 60x84/16 Тираж - 100
в печать
Усл.печ.л. Заказ
____________________________________________________
