С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sirius315
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
#1

Матрицы: найти максимальную сумму элементов строк матрицы - C++

27.04.2012, 15:41. Просмотров 615. Ответов 0
Метки нет (Все метки)

Лабораторная работа № 7
Функции
Цель работы: изучение правил составления и использования функций в программах на С++.
Пример
Задание. Найти максимальную сумму элементов строк матрицы 3×5 с использованием функций.
Пример программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <stdio.h>
 
const int m=3, n=5;
 
void inparr(int a[m][n])
{
int i,j;
for (i=0;i<m;i++)
 for (j=0;j<n;j++)
 scanf("%d",&a[i][j]);
}
 
void outarr (int a[m][n])
{
int i,j;
printf("Matrica:\n");
for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
  printf("%5d", a[i][j]);
printf("\n");
}
}
 
int processarr(int a[m][n])
{
int i,j,s,max;
for(i=0;i<m;i++)
{
 s=0;
 for (j=0;j<n;j++)
   s+=a[i][j];
 if (i==0) max=s;
 else if (max<s) max=s;
}
return max;
}
 
void main()
{
int b[m][n];
inparr(b);
outarr(b);
printf("Maximalnaya summa stroki = %d", processarr(b));
}
Контрольные вопросы
1. Структура функции в языке С++, ее заголовок.
2. Вызов функции.
3. Способы передачи параметров.
4. Оператор return (2 формы записи).
5. Описание функции (прототип).

Лабораторное задание
1. Выбрать задание, соответствующее номеру варианта.
2. Составить алгоритм решения задачи.
3. Составить программу, которая выполняет следующие действия:
а) ввод исходных матриц;
б) вывод исходных матриц;
в) обработку матриц в соответствии с заданием.
Пункты а), б), в) оформить в виде функций. Глобальные переменные в программе не использовать.
4. Выполнить программу на ЭВМ
5. Оформить отчет

Варианты заданий
См. задание к лабораторной работе № 5.


Лабораторная работа №5
Обработка двумерных массивов. Указатели.
Цель работы: изучение способов описания, ввода-вывода и обработки двумерных массивов, использование указателей при работе с массивами.
Пример
Задание. Дана целочисленная матрица размера mn. Найти матрицу, получающуюся перестановкой столбцов (первого с последним, второго с предпоследним и т.д.).
Программа с использованием указателей:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
void main()
{
int a[3][5], b[3][5], i, j, s, max;
printf ("vvedite 3 stroki poо 5 chisel");
for (i=0;i<3;i++)
 for (j=0;j<5;j++)
  scanf("%d",&a[i][j]);
printf ("Matrix a :\n");
 for (i=0; i<3; i++)
  {for (j=0; j<5; j++)
    printf ("%5d", a[i][j]);
    printf ("\n");
  }
for (j=0;j<5;j++)
  {for(i=0;i<3;i++)
      b[i][j]=a[i][4-j];
  }
printf ("Matrix a :\n");
 for (i=0; i<3; i++)
  {for (j=0; j<5; j++)
    printf ("%5d", b[i][j]);
    printf ("\n");
}
}


Программа без использования указателей:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define n 3
#define  m 5
void main()
{
int a[n][m],b[n][m],i,j,*p;
clrscr();
printf("Vvedite massiw A\n");
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
printf("Massiw A\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%3d",a[i][j]);
printf("\n");
}
p=&a[0][0];
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
b[i][m-1-j]=*p;
p++;
}
}
printf("Massiw B\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%3d",b[i][j]);
printf("\n");
}
getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2012, 15:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрицы: найти максимальную сумму элементов строк матрицы (C++):

Массив: Найти среднее арифметическое элементов матрицы и сумму элементов тех строк матрицы, в которых отрицателен элемент главной диагонали. - C++
Ребят не понимаю я с++ Дали создать программу Помогите пожалуйста Найти среднее арифметическое элементов матрицы и сумму элементов...

Найти максимальную сумму элементов строки матрицы - C++
Данный двумерный массив. найти: а) максимальную сумму элементов строки; б) минимальную сумму элементов столбца

Классы. Найти сумму элементов каждого столбца матрицы и определить максимальную - C++
Создайте класс в соответствии с условием задачи. Определите функции-члены класса для установки и получения значений закрытых переменных,...

Матрицы. Найти и распечатать сумму элементов 5-го столбца матрицы А и сумму элементов последней строки матрицы В - C++
Даны две матрицы А(mxn)и В(m1xn1).программа находит и распечатывает сумму элементов 5-го столбца матрицы А и сумму элементов последней...

Найти наименьшую из сумм элементов строк матрицы и сумму наименьших элементов столбцов - C++
Дана вещественная матрица A размером 5*4. Найти наименьшую из сумм элементов строк матрицы и сумму наименьших элементов столбцов

Найти сумму наибольших значений элементов строк матрицы - C++
Дана действительная матрица размера m x n. Найти сумму наибольших значений элементов ее строк. Заранее спасибо!)

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2012, 15:41
Привет! Вот еще темы с ответами:

C++ Найти сумму элементов первой и третьей строк матрицы - C++
Найти сумму элементов первой и третьей строк матрицы.

Найти сумму наибольших значений элементов строк матрицы - C++
Помогите пож-ста с задачкой: Дан двумерный массив А(m,n) (Вводим в начале произвольным образом, можно и конечно подключив генератор случ....

Найти сумму наибольших значений элементов строк матрицы - C++
Дана действительная матрица размера mn. Найти сумму наибольших значений элементов ее строк. должен считать сумму максимальных элементов...

Найти сумму наибольших значений элементов строк заданной матрицы - C++
Помогите пожалуйста составить программу в С++. Двухмерные массивы. Дана действительная матрица размера n*m. Найти сумму наибольших...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.