Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_-_1_kurs / Основы С++.doc
Скачиваний:
117
Добавлен:
09.06.2015
Размер:
1.44 Mб
Скачать

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

в печать

Усл.печ.л. Заказ

____________________________________________________