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

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

Восстановить пароль Регистрация
 
Sirius315
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 37
27.04.2012, 15:41     Матрицы: найти максимальную сумму элементов строк матрицы #1
Лабораторная работа № 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++ Найти сумму наибольших значений элементов строк матрицы
Программа с матрицами. Найти минимальное значение среди четных элементов матрицы и сумму положительных элемен-тов матрицы C++
C++ Матрицы и указатели (найти такие k, что k-я строка матрицы совпадает с k-м столбцом; 2) найти сумму элементов)
C++ Найти сумму положительных элементов матрицы А, количество нулевых элементов матрицы B
C++ C++ Найти сумму элементов первой и третьей строк матрицы
Классы. Найти сумму элементов каждого столбца матрицы и определить максимальную C++

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

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

Текущее время: 04:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru