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

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

Войти
Регистрация
Восстановить пароль
 
КаринаТ_Т
0 / 0 / 0
Регистрация: 10.02.2014
Сообщений: 29
#1

Найти все числа из массива B (n), которые встречаются более чем в одной строке матрицы A (m, n) - C++

12.02.2014, 22:01. Просмотров 480. Ответов 1
Метки нет (Все метки)

Помогите,пожалуйста,переделать с VBA на Си ,или же составить программу без всяких оптимизаций,просто,что бы работала. Вот задача :Найти все числа из массива B (n), которые встречаются более чем в одной строке матрицы A (m, n)
А вот сам код
Visual Basic
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
Sub Кнопка1_щелчек()
Cells.Clear
    Dim Matr() As Integer
    Dim i, j, k, p As Integer
    Dim n, m As Long
    Dim c() As Integer
 'задаем произвольную матрицу
     n = InputBox("Введите количество строк", , 4)
     If n = "" Then Exit Sub
    m = InputBox("Введите количество столбцов", , 4)
    ReDim Matr(1 To n, 1 To m)
    'заполнение массива матрицы случайными числами
    For i = 1 To n
     For j = 1 To m
       Matr(i, j) = Int(Rnd() * 10) + 1
       Cells(i, j) = Matr(i, j)
      Next j
    Next i
    'задаем массив чисел, которые хотим проверить
    k = j
    ReDim a(1 To m)
    For k = 1 To m
        a(k) = Int(Rnd() * 10) + 1
        Cells(n + 2, k) = a(k)
        'Val (InputBox("Введите" & k & "-е" & " число массива"))
    Next k
    Cells(n + 2, m + 1) = "Числа для проверки"
    'проверить строки матрицы на совпадения
    For l = 1 To m
    kol = 0
      For i = 1 To n
        For j = 1 To m
            If Matr(i, j) = a(l) Then
              kol = kol + 1
              Exit For
            End If
        Next j
      Next i
      Cells(n + 3, l) = kol
    Next l
    Cells(n + 3, m + 1) = "В скольких строках встретилось"
End Sub
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2014, 22:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти все числа из массива B (n), которые встречаются более чем в одной строке матрицы A (m, n) (C++):

Найти все символы, которые встречаются в строке более двух раз - C++
Парни помогите нужно написать в C++ Builder "Найти все символы, которые встречаются в строке более 2ух раз" Должна быть посимвольная...

Найти все элементы массива, которые встречаются в нем не более одного раза - C++
Нужна помощь. Задание такого : в двумерном массиве А найти все элементы, которые встречаются в нем не более одного раза и записать эти...

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

Найти и напечатать числа, которые встречаются в массиве более одного раза - C++
Одномерный массив А состоит из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза.

Многомерные массивы. Найти и напечатать числа, которые встречаются в массиве более одного раза - C++
Одномерный массив А состоит из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза.

Одномерный массив А суммируется из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза - C++
Помогите. Одномерный массив А суммируется из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
bradobrei
Продам уран 238U
119 / 119 / 23
Регистрация: 22.01.2013
Сообщений: 298
13.02.2014, 09:13 #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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
#define n 10
#define m 5
 
int main(){
    int B[n], A[m][n];
    int count;
    srand(time(NULL));
    cout<<"B: ";
    for(int i = 0; i < n; i++){
        B[i] = rand()% 15 - 3;
        cout<<B[i]<<" ";
    }
    cout<<endl<<"A: "<<endl;
    for(int i = 0; i < m; i++){
        for(int j = 0; j < n; j++){
            A[i][j] = rand()% 30 - 5;
            cout<<A[i][j]<<" ";
        }
    cout<<endl;
    }
    cout<<endl<<"Elements: ";
    for(int k = 0; k < n; k++){
        count = 0;
        for(int i = 0; i < m; i++){
            for(int j = 0; j < n; j++){     
                if(B[k] == A[i][j]){
                    count ++;
                    break;
                }
            }
        if(count > 1){
            cout<<B[k]<<" ";
            break;
        }
        }
    }
        
return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2014, 09:13
Привет! Вот еще темы с ответами:

Подсчёт слов в строке и вывод тех, которые встречаются более n раз - C++
Всем доброго времени суток. Прошу помощи в решении задачи. Собственно сама задача: Дано осмысленное текстовое сообщение(т.е....

Исключить из файла все слова, которые встречаются более одного раза - C++
Найти в файле f все слова которые встречаются более одного раза исключить их с файла f и получить файл новый q.Плиз

Найти и вывести все числа, которые присутствуют в векторе более одного раза - C++
// 2) a = // Найти и вывести все числа, которые присутствуют в списке более одного раза. пытался вот как то так) // 2) a = //...

Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор - C++
Все элементы вектора V,которые встречаються более одного раза ,переписать в другой вектор. Задача на С++ помогите решить.


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

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

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