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

удалить строку с произведением - C++

Восстановить пароль Регистрация
 
SerGya
0 / 0 / 0
Регистрация: 20.02.2011
Сообщений: 6
22.03.2011, 14:41     удалить строку с произведением #1
В двумерном массиве найти произведение каждой строки и удалить из массива строку произведения, которой кратно 3. Если таких произведений несколько, то удалить строку с последним из найденых произведений.
Помогите с листингом программы, пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2011, 14:41     удалить строку с произведением
Посмотрите здесь:

C++ Ввести строку и слово, удалить все вхождения слова и вывести строку
C++ Удалить строку
C++ Найти в матрице строку где сумма элементов минимальна и удалить эту строку
C++ Удалить строку из массива.
C++ Найти среди строк заданной целочисленной матрицы D строку с максимальным произведением элементов
C++ Найти строку матрицы с максимальным произведением, изьять ее и напечатать результат
C++ Дана квадратная матрица. Найти строку с наибольшим и наименьшим произведением элементов
C++ Найти строку матрицы с максимальным произведением элементов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
22.03.2011, 15:05     удалить строку с произведением #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
#include <iostream>
#include <iomanip>
#include <ctime>
#include <algorithm>
#include <iterator>
#include <numeric>
 
int rnd (void)
{
    return rand() % 50;
}
 
void show (int x)
{
    std::cout << std::setw(3) << x;
}
int main()
{
    const int SIZE=5;
    const int SIZE_=4;
    int MAS[SIZE][SIZE];
    int MAS_[SIZE_][SIZE];
    //fill and output
    srand (time (NULL));
    std::cout << "Start matrix:\n";
    for (int i=0; i<SIZE; i++)
    {
        std::generate_n (MAS[i], SIZE, rnd);
        std::for_each (MAS[i], MAS[i]+SIZE, show);
        std::cout <<std::endl;
    }
    std::cout << "\n\n";
    //
    int n=-1;
    for (int i=0; i<SIZE; i++)
      if (std::accumulate (MAS[i], MAS[i]+SIZE, 1, std::multiplies <int> ()) % 3 == 0) n=i;
    //
    if (n==-1) std::cout << "Not found.";
        else
        {
            std::cout << "Finish matrix:\n";
            for (int i=0, j=0; i<SIZE, i!=n, j<SIZE_; i++, j++)
            {
                std::copy (MAS[i], MAS[i]+SIZE, MAS_[j]);
                std::for_each (MAS_[j], MAS_[j]+SIZE, show);
                std::cout << std::endl;
            }
        }
 
    return 0;
}
Yandex
Объявления
22.03.2011, 15:05     удалить строку с произведением
Ответ Создать тему
Опции темы

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