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

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

Войти
Регистрация
Восстановить пароль
 
VAAADIM
2 / 2 / 1
Регистрация: 14.10.2013
Сообщений: 47
#1

Посчитать произведение в тех рядках матрицы, в которых нет минусовых чисел - C++

30.10.2013, 19:17. Просмотров 358. Ответов 8
Метки нет (Все метки)

Вимоги до програми:
- использовать статические массивы;
- максимальные розмеры массива (N i M) – константы;
- реальные розмеры масива n i m (n<N, m<M) – ввести з клавиатури;
- елементы массива – случайные числа, сгенерированые на интервале [a, b], де a і b (a<b) вводяться с клавиатуры;
- все входящие данные а так же елементы массива выводятся на екран.

1). Программа сумирует первый и последний столбцы квадратной матрицы, и записывает результат на место первого рядка.

2)Изменить программу 1 так, что-бы использовались не статические массивы и константы,а динамические массивы

3)
Дана прямоугольная целочисельная матрица:
а) Посчитать произведение в тех рядках, в которых нет минусовых чисел.
б) Максимум і минимум среди сумм елементов диагоналей на главной и второстепенной диагоналях матрицы.
Для программы 3 использовать динамические массивы(m,n вводятся с клавиатуры, так же как и [a,b]
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2013, 19:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Посчитать произведение в тех рядках матрицы, в которых нет минусовых чисел (C++):

Среди всех n-битных двоичных чисел указать количество тех, в двоичной записи которых нет k единиц подряд - C++
Помогите пожалуйста понять в чём ошибка! Задание такое: среди всех n-битных двоичных чисел указать количество тех, у которых в двоичной...

Посчитать произведение тех цифр числа, которые кратны 3 - C++
Посчитать произведение тех цифр числа, которые кратны 3

Дано 2 массива A и В, целых чисел. Нужно посчитать количество тех чисел которые A[i]>B[i] - C++
Дано 2 массива A и В, целых чисел. Нужно посчитать количество тех чисел которые A&gt;B Как вообще это можно почитать ? Помогите пожалуйста...

Вывести массив D, состоящий из тех элементов В, которых нет в С - C++
даны три одномерных массива (А,В,С). нужно вывести массив D, состоящий из тех элементов В, которых нет в С, и тех элементов С, которых нет...

Вычислить обратные значения тех из тех чисел, значения которых не равны нулю - C++
Даны три числа x y z.Вычислить обратные значения тех из них, значения которых не равны нулю , остальные оставить без изменения . Новые...

Дана последовательность целых положительных чисел. Найти произведение только тех чисел, которые больше заданного числа М - C++
Дана последовательность целых положительных чисел. Найти произведение только тех чисел, которые больше заданного числа М. если таких нет,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
30.10.2013, 19:21 #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
VAAADIM, стоп, вы же уже просили такую программу с массивами.
И получили вот такой код. Адаптировать под себя не смогли что ли?

C++ (Qt)
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
#include <QTextStream>
#include <math.h>
 
const int n = 10;
 
int main(int argc, char *argv[])
{
    QTextStream cout(stdout);
    QTextStream cin(stdin);
    int a, b;
    cout << "Input A" << endl;
    cin >> a;
    cout << endl << "Input B" << endl;
    cin >> b;
    int array[n]; // объявляем массив длиной n
    cout << endl << endl << "N = " << n << endl;
    cout << "Array:" << endl;
    for (int i=0;i<n;i++) // генерируем числа в нужном промежутке и выводим на экран
    {
        array[i] = rand() % (b-a+1) + a;
        cout << "array[" << i << "] = " << array[i] << endl;
    }
    int min = 0; // в min храним индекс минимального элемента, изначально 
    for (int i=0;i<n;i++)
    {
        if (abs(array[i]) < abs(array[min])) min = i; // сравниваем элемент с минимальным
    }
    cout << "minimal element: array[" << min << "] = " << array[min] << endl;
    int summ = 0;
    int c = 0;
    while (array[c]!=0 && c < n) c++; // ползем до первого 0 в массиве
    if (c < n) // если ноль нашелся, считаем сумму
    {
        for (int i=c+1;i<n;i++) summ += array[i];
        cout << "Summa (" << c+1 << ".." << n-1 << ") = " << summ << endl;
    }
    else // если нет, выводим извещение
    {
        cout << "Not find 0" << endl; 
    }
    return 0;
}
VAAADIM
2 / 2 / 1
Регистрация: 14.10.2013
Сообщений: 47
30.10.2013, 21:59  [ТС] #3
Это не то.
Та программа считает сумму после первого нуля в массиве и масив одномерный
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
30.10.2013, 22:04 #4
VAAADIM, ну а взять и адаптировать под себя? Я вот почему то когда сталкиваюсь с затруднениями, ищу в поиске даже отдаленно похожие примеры и переделываю под себя.
VAAADIM
2 / 2 / 1
Регистрация: 14.10.2013
Сообщений: 47
30.10.2013, 22:26  [ТС] #5
Цитата Сообщение от Folko Посмотреть сообщение
VAAADIM, ну а взять и адаптировать под себя? Я вот почему то когда сталкиваюсь с затруднениями, ищу в поиске даже отдаленно похожие примеры и переделываю под себя.
Искал. Нашел через библиотеку вектор, но мне именно через массивы надо
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
30.10.2013, 22:28 #6
VAAADIM, омг, статический двумерный массив объявляется int array[10][20]; обращения в формате array[4][5]; зачем векторы?) динамический массив
C++
1
2
3
int** array = new int*[n];
for (int i = 0; i < n; i++)
array[i] = new int[m];
VAAADIM
2 / 2 / 1
Регистрация: 14.10.2013
Сообщений: 47
30.10.2013, 22:34  [ТС] #7
Цитата Сообщение от VAAADIM Посмотреть сообщение
3)
Дана прямоугольная целочисельная матрица:
а) Посчитать произведение в тех рядках, в которых нет минусовых чисел.
б) Максимум і минимум среди сумм елементов диагоналей на главной и второстепенной диагоналях матрицы.
Для программы 3 использовать динамические массивы(m,n вводятся с клавиатуры, так же как и [a,b]
для меня главная проблема вот эта программа.
Первые 2 ещё кое-как напишу
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
30.10.2013, 22:38 #8
VAAADIM, заводите дополнительную переменную, в которую заносите сумму необходимых элементов. Если встретится хоть один отрицательный элемент, прерываете вычисление и переходите к следующем ряду. С диагоналями почти то же самое
VAAADIM
2 / 2 / 1
Регистрация: 14.10.2013
Сообщений: 47
31.10.2013, 08:52  [ТС] #9
Цитата Сообщение от Folko Посмотреть сообщение
VAAADIM, заводите дополнительную переменную, в которую заносите сумму необходимых элементов. Если встретится хоть один отрицательный элемент, прерываете вычисление и переходите к следующем ряду. С диагоналями почти то же самое
Напишите код пожалуйста, буду очень признателен)

Добавлено через 10 часов 8 минут
Очень нужна помощь, помогите пожалуйста
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2013, 08:52
Привет! Вот еще темы с ответами:

Дана последовательность 100 целых чисел. Подсчитать сумму тех чисел, значения которых совпадают с их порядковым номером. - C++
Дана последовательность 100 целых чисел. Подсчитать сумму тех чисел, значения которых совпадают с их порядковым номером.

Найти произведение положительных элементов в тех столбцах, в которых есть хотя бы один отрицательный элемент - C++
Помогите, пожалуйста! В среде Visual Studio 2013 написать консольную программу на языке C++ с использованием двумерного динамического...

Вывести массив в виде таблицы. Вычислить произведение тех элементов, для которых справедливы неравенства - C++
Создать массив с элементами a=n*f(k)+sin(k)*g(n), где k, n=1,2,3,4 f(k)=2*sin(k)*sin(2k−1,5)*cos(2k+1,5)−6 g(n)=|cos(n2)...

Посчитать количество чисел, больших 0 и меньших N, сумма чисел которых и их реверс являются палиндромом - C++
объясните пож не совсем понимаю задание


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
31.10.2013, 08:52
Ответ Создать тему
Опции темы

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