Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов - C++

17.01.2013, 21:38. Просмотров 783. Ответов 1
Метки нет (Все метки)

Сразу хочу попросить прощения, если я "говнокодер".

Задача следующая:
Дана целочисленная квадратная матрица.
Написать программу, выполняющую следующие действия в виде функций с динамическим распределением памяти.
Определить:
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
86
87
88
89
90
91
92
93
94
95
#include<iostream> 
#include<clocale> 
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include <ctime>
#include <cstdlib>
#include <iomanip>
 
using namespace std; 
 
int**input(int,int);//функция ввода квадратной матрицы
void output(int**,int,int);//функция вывода квадратной матрицы
 
//Функция вывода матрицы
 
void output(int**z, int m,int n)
{
int i,j,s;
printf("матрица\n");
for(i=0;i<m;i++)
   { printf("\n");
    for(j=0;j<n;j++)
       {
       printf("%3d \t",z[i][j]);
       }
   }
printf("\n");
 }
 
 
 
// Функция ввода матрицы
 
int**input(int m,int n)
{
 int i,j;
 int**a;
 //динамическое выделение памяти
 a=(int**)malloc(m*sizeof(int*));
 for(i=0;i<m;i++)
    {
     a[i]=(int*)malloc(n*sizeof(int*));
     for(j=0;j<n;j++)
     {
     a[i][j]=0;
     }
    }
  //выбор способов ввода матрицы
  m2:puts("Как будем заполнять матрицу:\n1-вводя с клавиатуры,\n2-случайными числами");
  switch(getchar())
  {
   case'1':
      for(i=0;i<m;i++)
         {
           for(j=0;j<n;j++)
            {
              printf("a[%d][%d]=",i,j);
              scanf_s("%d",&a[i][j]);
            }
         }
   break;
   case'2':
      for(i=0;i<m;i++)
         {
          for(j=0;j<n;j++)
           {
             a[i][j]=rand() % 200-10;
           }
         }
   break;
   default:
       goto m2;
    break;
  }
return a;
}
 
// Главная функция
 
int main()
{
    setlocale(LC_CTYPE, "Russian_Russia.1251");
int m,n;
int**p;
    puts("Введите размер стороны квадратной матрицы\n");
    printf("Размер=");
    scanf_s("%d",&m);
    n=m;
    p=input(m,n);
    output(p,m,n);
    system("pause");
    return 0;
}
При запуске почему-то 2 раза вывод на экран: как будем заполнять матрицу.

Кто нибудь может подтолкнуть на идею реализации задачи, или дать ссылки на темы с такой же задачей. Решение первого вопроса было найдено на этом форуме, сейчас пытаюсь к себе вставить, решение второй части не нашел еще. Но больше интересует двойной вывод меню с выбором варианта заполнения матрицы.

P.S. заранее благодарю
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2013, 21:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов (C++):

Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов - C++
Дана целочисленная квадратная матрица.Определить: 1)сумму элементов в тех столбцах,которые не содержат отрицательных элементов ...

Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов - C++
Дана целочисленная квадратная матрица. Определить: 1.) сумму элементов в тех столбцах, которые не содержат отрицательных элементов; ...

Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов - C++
Помогите пожалуйста. Дана целочисленная квадратная матрица.Определить: 1) сумму элементов в тех столбцах, которые не содержат...

Найти сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов - C++
Дана целочисленная квадратная матрица. Определить: 1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов; ...

Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов - C++
Дана матрица A(n,m). Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов. Помогите, пожалуйста

Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов - C++
Дана целочисленная квадратная матрица. Определить: 1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов; 2)...

1
TrueBit
96 / 96 / 12
Регистрация: 19.11.2012
Сообщений: 195
17.01.2013, 23:18 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Строка 75 отправляет на метку m2: в строке 52. Вобще говоря метки нежелательно использовать в программах. Это всетаки c++, а не ассемблер. Но вот, переместив метку в другое место, не выводит дважды:
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
#include<iostream> 
 
using namespace std; 
 
int**input(int,int);//функция ввода квадратной матрицы
void output(int**,int,int);//функция вывода квадратной матрицы
 
//Функция вывода матрицы
 
void output(int**z, int m,int n)
{
int i,j,s;
printf("матрица\n");
for(i=0;i<m;i++)
   { printf("\n");
    for(j=0;j<n;j++)
       {
       printf("%3d \t",z[i][j]);
       }
   }
printf("\n");
 }
 
 
 
// Функция ввода матрицы
 
int**input(int m,int n)
{
 int i,j;
 int**a;
 //динамическое выделение памяти
 a=(int**)malloc(m*sizeof(int*));
 for(i=0;i<m;i++)
    {
     a[i]=(int*)malloc(n*sizeof(int*));
     for(j=0;j<n;j++)
     {
     a[i][j]=0;
     }
    }
  //выбор способов ввода матрицы
 puts("Как будем заполнять матрицу:\n1-вводя с клавиатуры,\n2-случайными числами");
  m2:
  switch(getchar())
  {
   case'1':
      for(i=0;i<m;i++)
         {
           for(j=0;j<n;j++)
            {
              printf("a[%d][%d]=",i,j);
              scanf_s("%d",&a[i][j]);
            }
         }
   break;
   case'2':
      for(i=0;i<m;i++)
         {
          for(j=0;j<n;j++)
           {
             a[i][j]=rand() % 200-10;
           }
         }
   break;
   default:
       goto m2;
    break;
  }
return a;
}
 
// Главная функция
 
int main()
{
    setlocale(LC_CTYPE, "Russian_Russia.1251");
int m,n;
int**p;
    puts("Введите размер стороны квадратной матрицы\n");
    printf("Размер=");
    scanf_s("%d",&m);
    n=m;
    p=input(m,n);
    output(p,m,n);
    system("pause");
    return 0;
}
библиотеки тоже почистил...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2013, 23:18
Привет! Вот еще темы с ответами:

Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов - C++
эту задачу простым языком в Delphi Дана целочисленная квадратная матрица. Определить: 1.) сумму элементов в тех столбцах, которые не...

Определить сумму элементов матрицы в тех строках, которые не содержат отрицательных элементов - C++
Здравствуйте! Помогите пожалуйста написать программу. Дана целочисленная квадратная матрица. Определить: 1. Сумму элементов в тех...

Определить сумму элементов в тех столбцах матрицы, которые содержат хотя бы один отрицательный элемент - C++
Для целочисленного двумерного массива ( массивность массива задается пользователем), разработать функцию, которая определяет сумму...

Целочисленная матрица. Определить сумму элементов в тех столбцах, которые не содержат положительных элементов - C++
Дана целочисленная квадратная матрица. Определить сумму элементов в тех столбцах, которые не содержат положительных элементов.Для ввода...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.