Форум программистов, компьютерный форум CyberForum.ru

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

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

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

27.04.2012, 15:41. Просмотров 596. Ответов 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();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2012, 15:41     Матрицы: найти максимальную сумму элементов строк матрицы
Посмотрите здесь:

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

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

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

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

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

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

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

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

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

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

Матрицы и указатели (найти такие k, что k-я строка матрицы совпадает с k-м столбцом; 2) найти сумму элементов) - C++
Составить программу обработки матрицы. Доступ к элементам матрицы осуществлять с помощью указателя. Элементы матрицы заполнить, используя...

Найти сумму элементов тех строк матрицы, которые хотя бы один отрицательный элементсодержат - C++
Помогите написать 3 программы на C++ Заранее спасибо!Надеюсь на вашу помощь..


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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