Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 47
1

Функции в программе

25.05.2013, 22:04. Показов 341. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, имею вот такую задачку, нужно её переделать по функциям.
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/* Дана целочисленная квадратная матрица. Опередить:
1) произведение элементов в тех строках,
которые не содержат отрицательных элементов.
2) максимум среди сумм элементов диагоналей,
параллельных главной диагонали матрицы. */
#include <iostream.h>
int main()
{
int N; // размер массива
int A[5][5]; // целочисленный массив
int Pro; // произведение элементов
int Sum; // сумма элементов диагоналей
int Max; // максимум среди сумм
bool bol; // флаг наличия отрицательного числа
// ввод данных
cout << "Vvedite N="; // вывод строки
cin >>N; // считываем значение стороны
// Решение
cout<<"vvedite "<<N<<" strok po "<<N<<" elementotv"<<endl;
for (int i=1;i<=N;i++){
cout<<i<<") ";
for (int j=1;j<=N;j++)
{
cin>>A[i][j]; // формирование массива
}
}
cout <<"Otvet" << endl; // вывод результата
// 1) задание
for (int i=1;i<=N;i++)
{
Pro=1;
bol = true ;
for (int j=1;j<=N;j++)
{
if(A[i][j]<0)bol = false;
Pro*=A[i][j];
}
if (bol){ cout<<"proizvedenie elementov "<<i<<" stroki = "<<Pro<<endl;}
}
// 2) задание
Max=A[1][1];
for (int i=1;i<=N;i++)
{
// проверка диагоналей со строки
Sum=0;
for (int jj=1;jj<=(N-i+1);jj++)
{
{Sum+=A[jj][jj+i-1];}
}
if (Sum>Max){Max=Sum;}
// проверка диагоналей со столбца
Sum=0;
for (int jj=1;jj<=(N-i+1);jj++){
{Sum+=A[jj+i-1][jj];}
}
if (Sum>Max){Max=Sum;}
}
cout<<"maksimum sredi summ elementov diagonalei, parallelnyh glavnoi diagonali matritcy = "<<Max<<endl;
system("PAUSE");
return 0;
}
Добавлено через 6 минут
Кажется разобрался сам, но если кто предложит, что другое - скажу спасибо !
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
46
47
48
49
50
51
52
53
54
55
56
#include <iostream.h>
#include <math.h>
 
 
void qwer(int mas[5])
{
int i,null,sum,min;
int n=5; 
//êîëè÷åñòâî ýëåìåíòîâ ìàññèâà = 0
null=0;
for (i=0; i<n; i++)
if (mas[i]==0) null++;
cout << "\n koli4estvo elementov massiva = 0: " << null << endl;
//ñóììà ýëåìåíòîâ ìàññèâà, ðàñïîëîæåííûõ ïîñëå ìèíèìàëüíîãî ýëåìåíòà
sum=0;
min=0;
for(i=1; i<n; i++)
if (mas[i]<mas[min]) min=i;
for (i=min+1; i<n; i++)
sum+=mas[i];
cout << "\n cymma elementov massiva, raspolojenih posle minimalnogo elementa = " << sum << endl;
}
 
void asdf(int mas[5])
{
int i,j,t;
int n=5;
//ýëåìåíòû ìàññèâà ïî âîçðàñòàíèþ åãî ìîäóëåé
for (i=0; i<n-1; i++)
for (j=i+1; j<n; j++)
if (abs(mas[i])>abs(mas[j]))
{
t=mas[i];
mas[i]=mas[j];
mas[j]=t;
}
cout << "\n elementi massiva po vozrastaniu ego modylei:" << endl;
for(i=0; i<n; i++)
cout << mas[i] <<" "<< endl;
}
 
int main()
{
int mas[5], i;
int n=5;
//ââîä ìàññèâà
cout << "\n vvidite elementi massiva:" << endl;
for (i=0; i<n; i++)
cin >> mas[i];
 
qwer(mas);
asdf(mas);
 
system("PAUSE");
return 0;
}
Добавлено через 33 минуты
Первый не тот код вставил ))
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 <iostream.h>
#include <math.h>
int main()
{
const int n =5;
int mas[n], i, null, min, sum, j, t;
//ââîä ìàññèâà
cout << "\n Vvedite elementy massiva: " << endl;
for (i=0; i<n; i++)
cin >> mas[i];
//êîëè÷åñòâî ýëåìåíòîâ ìàññèâà = 0
null=0;
for (i=0; i<n; i++)
if (mas[i]==0) null++;
cout << "\n Kolichestvo elementov massiva ravnyh nylu = " << null << endl;
//ñóììà ýëåìåíòîâ ìàññèâà, ðàñïîëîæåííûõ ïîñëå ìèíèìàëüíîãî ýëåìåíòà
sum=0;
min=0;
for(i=1; i<n; i++)
if (mas[i]<mas[min]) min=i;
for (i=min+1; i<n; i++)
sum+=mas[i];
cout << "\n Cumma elementov massiva, raspolozhennykh posle minimalnogo elementa = " << sum << endl;
//ýëåìåíòû ìàññèâà ïî âîçðàñòàíèþ åãî ìîäóëåé
for (i=0; i<n-1; i++)
for (j=i+1; j<n; j++)
if (abs(mas[i])>abs(mas[j]))
{
t=mas[i];
mas[i]=mas[j];
mas[j]=t;
}
cout << "\n Elementy massiva po vozrastaniiu ego modulei: " << endl;
for(i=0; i<n; i++)
cout << mas[i] <<" "<< endl;
system("PAUSE");
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2013, 22:04
Ответы с готовыми решениями:

Ошибка в программе(функции)
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt;...

Не работают функции в программе...
Что я делаю не так? И возможны ли в матлаб локальные функции, в теле одного файла, как в сцилаб......

Запуск функции в программе
Доброго времени суток. Как в основной программе запустить функцию, и не дожидаясь окончания её...

Функции. Комментарии к программе
Изучаю программирование на С по книге «Язык программирования C» автора Брайан Керниган, Деннис...

0
25.05.2013, 22:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2013, 22:04
Помогаю со студенческими работами здесь

Использование функции в программе
Написал прогу, все хорошо, все работает. Но преподаватель сказал что нужно сделать через...

Исправить ошибку в программе.Функции
Здравствуйте! Программа должна удалять лишние запятые и восклицательные знаки (они лишние, если...

Функции, ln, как прописать в программе?
Приветствую, подскажите как прописать функции f1 (25 строчка) и f2 (31 строчка) #include &lt;iostream&gt;...

Функции и указатели. Ошибки в программе
Здравствуйте! Помогите найти ошибки. Функция должна принимать строку, а возвращать количество...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru