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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Splay-tree (написать программу, которая будет искать в файле сущности (целые числа) и заносить их в дерево) http://www.cyberforum.ru/cpp-beginners/thread878549.html
Приветствую. Потребовалось написать программу, которая будет искать в файле сущности (целые числа) и заносить их в дерево, с последующим выводом всех найденных значений на экран. В процессе реализации возникло несколько вопросов: а) Для подобной цели было выбрано Splay-дерево. Является ли адекватным его выбор? Особенно с учётом, что есть большая вероятность, что на выходе будет сильно...
C++ Синтаксический анализатор Помогите решить, пожалуйста. Вывести значение целочисленного выражения, заданного в виде строки S. Выражение определяется следующим образом (функция M воз-вращает максимальный из своих параметров, а функция m — минимальный): <выражение> ::= <цифра> | M(<выражение> , <выражение>) | m(<выражение> , <выражение>) http://www.cyberforum.ru/cpp-beginners/thread878544.html
C++ Дана матрица смежности и неориентированный граф. Выяснить соседствуют ли две вершины с данными номерами с одной общей вершиной
народ помогите пожалуйста написать программу на с++ на графы дана матрица смежности и неориентированный граф. выяснить соседствуют ли две вершины с данными номерами с одной общей вершиной.
C++ ACCESS_VIOLATION при решении задачи
Здравствуйте!Тут решал одну простую задачу, но на dl.gsu.by она не проходит последний тест:не пройден 10-й тест. Решение вызвало ошибку ACCESS_VIOLATION Вот сама задача: Входной файл: input.txt Выходной файл: output.txt Время на тест: 2 секунды Ограничение на память: 16 МБ Задан неориентированный взвешенный граф G. В графе возможно наличие нескольких ребер между одной и той же парой...
C++ Перегрузка (бинарный, дружественный оператор) http://www.cyberforum.ru/cpp-beginners/thread878486.html
В классе Ellipse перегрузить оператор - (бинарный, дружественный оператор)
C++ Указатели. Из трех введенных с клавиатуры чисел преподнести в квадрат отрицательние а положительные оставити без изменений Из трех введенных с клавиатуры чисел преподнести в квадрат отрицательние а положительные оставити без изменений подробнее

Показать сообщение отдельно
Coolooc
0 / 0 / 0
Регистрация: 29.03.2013
Сообщений: 47
25.05.2013, 22:04     Функции в программе
Здравствуйте, имею вот такую задачку, нужно её переделать по функциям.
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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru