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

Дана целочисленная квадратная матрица. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
winelove
 Аватар для winelove
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 71
01.06.2010, 20:38     Дана целочисленная квадратная матрица. #1
Определить сумму элементов в тех строках, которые не содержат отрицательных элементов.
Определить минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.

Добавлено через 2 часа 18 минут
помогите срочно надо!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SerЁga
32 / 32 / 4
Регистрация: 18.08.2009
Сообщений: 93
01.06.2010, 22:55     Дана целочисленная квадратная матрица. #2
Определить сумму элементов в тех строках, которые не содержат отрицательных элементов.
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
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
//выделение памяти под матрицы
int** vid_pam_mt (int n,int m) 
{
    int l,z,**p;
// выделение памяти для матрицы
    
    if(!(p=(int**)calloc(n,sizeof(int*)))) return 0;
    for(l=0;l<n;l++)
    {
        *(p+l)=(int*)calloc(m,sizeof(int));
        if(! *(p+l))
        {  
            for(z=0;z<l;z++)
                free(*(p+z));
                free(p);
                
        }
    }
    return p;
}
 
//ввод матрицы
void vvod_matrici(int **p,int d,int f)
{
    int i,j;
 
        
    
//vvod matrici
 
    for(i=0;i<d;i++)
    
        for(j=0;j<f;j++)
        {
            printf("vvedite  matricy ms1[%d][%d]",i,j);  
 
            scanf("%d",(*(p+i)+j));
        }
}
 
//вывод матрицы
void vivod_matrici(int **p,int l,int k)
{
    int j,i;
    // вывод матрицы на экран
    printf( "\n");
    for(i=0;i<l;i++)
    {
        printf("\n");
        for(j=0;j<k;j++)
            printf("%3d",*(*(p+i)+j));
    }
 
}
 
//сумма строк без отр. элем.
void sum_bez_otr(int **p,int l,int k)
{
    int sum=0;
    int flag=0;
    for(int i=0;i<l;i++)
    {
        sum=0;
        flag=0;
        for(int j=0;j<k;j++)
        {
            if(p[i][j]<0) {flag=1;break;}
            else sum+=p[i][j];
        }
        if(flag==0) 
            printf("Summa [%d] stroki= %d",i,sum);
    }
    
}
 
 
 
void main()
{
    int **mt1;
    int razmerA,razmerB;
    puts("Vvedite razmer matric");
    scanf("%d%d",&razmerA,&razmerB);
    mt1=vid_pam_mt(razmerA,razmerB);
    puts("Vvedite matricy");
    vvod_matrici(mt1,razmerA,razmerB);
    sum_bez_otr(mt1,razmerA,razmerB);
    
}
FireNovel
 Аватар для FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
01.06.2010, 23:10     Дана целочисленная квадратная матрица. #3
winelove, Я конечно извиняюсь , но иногда очень полезно пользоваться поиском
там, така я же, задача миллион раз приведена.
Можно выбирать какой вариант более подходящий.
winelove
 Аватар для winelove
1 / 1 / 0
Регистрация: 10.05.2010
Сообщений: 71
02.06.2010, 10:31  [ТС]     Дана целочисленная квадратная матрица. #4
я пользовалась поиском, такой задачи как у меня нет, либо есть, но ответов на них нет

Добавлено через 2 минуты
Зачем нужна вот эта часть:
C
1
2
3
4
5
6
7
8
9
10
11
12
void main()
{
        int **mt1;
        int razmerA,razmerB;
        puts("Vvedite razmer matric");
        scanf("%d%d",&razmerA,&razmerB);
    mt1=vid_pam_mt(razmerA,razmerB);
        puts("Vvedite matricy");
        vvod_matrici(mt1,razmerA,razmerB);
        sum_bez_otr(mt1,razmerA,razmerB);
        
}
Добавлено через 3 минуты
и где вот эта вот часть: Определить минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.??

Добавлено через 10 часов 39 минут
сделайте, пожалуйста, кто-нибудь всю задачу
Определить сумму элементов в тех строках, которые не содержат отрицательных элементов.
Определить минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
Эскимо
Сообщений: n/a
13.11.2010, 00:03     Дана целочисленная квадратная матрица. #5
Как я понел у меня было такое же почти задание...
Выполнить упражнение,оформив, каждый пункт задания в виде функции.Все необходимые данные должны передаваться им в качестве параметров.Использование глобальных переменных в функциях не допускается.
Дана целочисленная квадратная матрица.Определить:
1)Сумму элементов в тех строках, которые не содержат отрицательных элементов;
2)Минимум среди сумм элементов диагоналей, паралельных главной диаганальной матрицы.

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
#include <iostream.h>
#include <conio.h>
int summa(int n)
{
int mass[100][100];
int i,j,summa;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout<<endl<<"Vvedite element ["<<i<<"]["<<j<<"] =";
cin>>mass[i][j];
}
}
summa=0;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(mass[i][j]>0){
summa=summa+mass[i][j];
}
else
{
summa=0;
break;
}
}
if(summa>0){
cout<<endl<<"Summa "<<i<<" stroki ="<<summa;
summa=0;
}
}
return 0;
}
//MINIMUM <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
minimum(int n){
int i,j;
int min=0,sum=0,k;
int mas[100][100];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout<<endl<<"Vvedite element ["<<i<<"]["<<j<<"]";
cin>>mas[i][j];
}
}
//Konec ciklov zapolneniya
min=10000;
for(i=0;i<n;i++){
sum=0;
for(j=0;j<i+1;j++){
sum=sum+mas[j][j+n-1-i];
cout<<"mas["<<j<<"]["<<j+n-1-i<<"]"<<endl;
}
if(sum<min)
min=sum;
cout<<endl;
}
for(i=0;i<n-1;i++){
for(j=0;j<i+1;j++){
sum+=mas[j+n-1-i][j];//Raznica mejdu stolbcom i strokoi menyaetsa ot n-1 do 1
cout<<"mas["<<j+n-1-i<<"]["<<j<<"]"<<endl;
}
if(sum<min)
min=sum;
cout<<endl;
}
cout<<endl<<"Otvet ="<<min;
return 0;
}
//Main <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
main(){
int i,j,n,m,sum;
int mas[100][100];
int nomer=0;
clrscr();
cout<<"Vvedite kolichestvo elementov matricu =";
cin>>n;
cout<<"Vvedite nomer zadachi :";
cin>>nomer;
if(nomer==1)
summa(n);
if(nomer==2)
minimum(n);
else
cout<<endl<<"Est tolko 1 i 2 zadacha";
getch();
return 0;
}
Yandex
Объявления
13.11.2010, 00:03     Дана целочисленная квадратная матрица.
Ответ Создать тему
Опции темы

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