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

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

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

Оформление готовых лаб в вид шаблона функции - C++

26.05.2010, 20:53. Просмотров 808. Ответов 2
Метки нет (Все метки)

Что вот сделано:
3. В одномерном массиве состоящем из n вещественных элементов вычислить:
1) Номер минимального элемента массива;
2) Сумму элементов массива расположенных между первым и вторым отрицательным;
3) Преобразовать массив таким образом, чтобы сначала располагались все элементы, не превышающие по модулю единицы, а потом - все остальные.
Код 3ей лабы
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <iostream.h>
#include <stdio.h>
#include <math.h>
#pragma argsused
int main(int argc, char* argv[])
{
//кол-во элементов
int n = 9;
//создание массива
int m[9]={2,-1,8,3,-3,4,6,-7,4};
int i;
//вывод массива
printf("Ishodnuy massiv:\n");
for (i = 0; i < n; i++)
{
printf("%i ",m[i]);
}
printf("\n");
 
//номер минимального массива
int min=m[0];
int nom_min=0;
for (i = 1; i <= n; i++)
{
if (m[i] < min)
{
min = m[i];
nom_min = i+1;
}
}
printf("Nomer min. elementa massiva: %i\n ",nom_min);
 
//отрицательные элементы, номера
int n1 = 0, n2 = 0;
 
//номер 1го отриц эл
for (i = 0; i <= n; i++)
{
if (m[i] < 0)
{
n1 = i;
break;
}
}
 
//находим 2ой отриц эл
for (i = n1+1; i <= n; i++)
{
if (m[i] < 0)
{
n2 = i;
break;
}
}
//проверка на сущетвование границ отриц эл
if ((n2 != 0) && (n1 != n2))
{
int sum_mezhdu = 0;
//сумма между 1ым и 2ым отриц эл.
for (i = n1+1; i < n2; i++)
{
sum_mezhdu += m[i];
}
printf("Summa elementov mejdu pervym i vtorym otricatelnym elementami ravna: %i\n",sum_mezhdu);
}
else printf("V massive otsutstvuyut dva otricatel'nyh elementa\n");
 
//упорядочение элементов по модулю больше единицы
for (i = 0; i < n; i++)
{
if (fabs(m[i]) < 1)
{
int k,pr_per=0;
k = i;
for (k = i; k < n; k++)
{
m[k] = m[k+1];
m[n] = 0;
}
}
}
 
//вывод массива после преобразования
for (i = 0; i < n; i++)
{
printf("%i ",m[i]);
}
 
//задержка
int u;
scanf("%i",&u);
return 0;
   system("PAUSE");
    return EXIT_SUCCESS;
}

4. 1) Характеристикой столбца целочисленной матрицы назовём сумму модулей его отрицательных нечётных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.
2) Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент.
Код 4ой лабы
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream.h>
#include <windows.h>
#include <math.h>
#include <stdlib.h>
int main ()
{
        int **mas, n, m, i, j, j1, temp, temp1, sum;
        bool fl;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Введите количество строк матрицы: "<< endl;
    cin>>n;
        cout<<"Введите количество столбцов матрицы: "<< endl;
    cin>>m;
        mas=new int*[n]; 
    for(i=0; i<n; i++)
       mas[i]=new int[m];
    cout<<"Введите элементы матрицы: "<< endl;
    for(i=0; i<n; i++)
       for(j=0; j<m; j++)
       {
          cout<<"["<<i<<"]["<<j<<"]= ";
          cin>>mas[i][j];
       }
        cout<<"исходная матрица"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<m; j++)
           {
                   cout.width(4);
          cout<<mas[i][j];
           }
          cout<<endl;
        }
    for(j=0; j<m-1; j++)
       for(j1=0; j1<m-1-j; j1++)
           {
                   temp1=temp=0;
                   for(i=0; i<n; i++)
                   {
                           if(mas[i][j1]<0 && abs(mas[i][j1])%2==1)
                                   temp+=abs(mas[i][j1]);
                           if(mas[i][j1+1]<0 && abs(mas[i][j1+1])%2==1)
                                   temp1+=abs(mas[i][j1+1]);
                   }
                   if(temp>temp1)
                           for(i=0; i<n; i++)
                           {
                                   temp=mas[i][j1];
                                   mas[i][j1]=mas[i][j1+1];
                                   mas[i][j1+1]=temp;
                           }
           }
        cout<<"полученная матрица"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<m; j++)
           {
                   cout.width(4);
          cout<<mas[i][j];
           }
          cout<<endl;
        }
 for(i=0; i<m; i++)
    {
         sum=0;
         fl=true;
       for(j=0; j<n; j++)
           {
                   sum+=mas[j][i];
                   if(mas[j][i]<0)
                           fl=false;
           }
           if(!fl)
                   cout<<"В столбце "<<i<<" есть орицательный элемент и сумма его элементов равна "<<sum<<endl;
 } system("PAUSE");
    return EXIT_SUCCESS; 
}

7.Выполнить лабы 3го семинара, оформив каждый пункт задания в виде функции.
Код 7ой лабы
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
#include <iostream.h>
#pragma hdrstop
#pragma argsused
#define n 9
int mini(int *a)
{int min=0;
for(int i=0; i<n; i++)
if(a[i]<a[min])min=i;
return min;
}
 
int sum(int *a)
{ int s=0; int pr=-1,ps=-1;
for (int i=0;i<n; i++)
if (a[i]<0){ if(pr==-1) pr=i; else {ps=i; break;}}
for (int i=pr+1;i<ps; i++)
s+=a[i];
if(ps==-1) return ps;
return s;
 
}
 
int main(int argc, char* argv[])
{int m[n]={2,-1,8,3,-3,4,6,-7,4};
cout<<"Nomer min elementa massiva= "<<mini(m)<<endl;
if(sum(m)!=-1)
cout<<"Summa elementov mejdu pervim i vtorim otricatelnim elementami ravna= "<<sum(m)<<endl; else
cout<<"Error!"<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

А вот что сделать необходимо..
8. Выполнить лабы 3го и 4го семинара, оформив каждый пункт задания в виде шаблона функции. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функции не допускается.
Помогите, пожалуйста =(
До получки зачёта всего-ничего осталось, а времени, оставшегося до обязательной сдачи этой лабы, - ещё меньше..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2010, 20:53     Оформление готовых лаб в вид шаблона функции
Посмотрите здесь:

C++ Оформление ФУНКЦИИ
C++ Создание шаблона функции
Вывод строк с двузначными числами, оформление в виде функции C++
Оформление выполненного кода в виде шаблона функции C++
Графическое оформление функции Y=A*EXP(X) C++
Оформление программы в виде функции C++
C++ специализация шаблона функции
Вызов функции (шаблона) C++
Использование шаблона функции C++
Перегрузка шаблона функции C++
Создание шаблона функции C++
C++ оформление каждого пункта задания в виде функции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Riise
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 3
30.05.2010, 23:26  [ТС]     Оформление готовых лаб в вид шаблона функции #2
Парни, сори за даблпост, но...
Лаба очень нужна, в данный момент не имею возможности разобраться что да как необходимо сделать, остался всего ровно один день для сдачи, нужно оформить чрез
template <class Type1> Type1 название_переменной
Очень надо.. взамен я нарисую на стене вконтакте выполнившего граффити, так раз необходимо одну конкурсную работу мне нарисовать за следующую неделю; с моими работами можете ознакомиться:
http://vkontakte.ru/album42857330_106826994
Но нарисую при условии, что получу код лабы до 19.00 31.05.10г
DenzeL
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 7
31.05.2010, 23:33     Оформление готовых лаб в вид шаблона функции #3
Скиньте кто-нибудь код)))
Yandex
Объявления
31.05.2010, 23:33     Оформление готовых лаб в вид шаблона функции
Ответ Создать тему
Опции темы

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