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

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

Войти
Регистрация
Восстановить пароль
 
Jaksn
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 114
#1

Нахождение одинаковых строк - C++

29.04.2011, 19:39. Просмотров 626. Ответов 6
Метки нет (Все метки)

Нужно решить такую задачу! Дана матрица и массив чисел. Нужно найти такие строки, которые совпадают с массивом.
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
#include <iostream>
#include <conio.h>
#include <locale>
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "Russian");
    int i,j,t;
    int mass1[4][4]={
        {4,8,9,1},
        {5,8,4,3},
        {1,7,6,4},
        {5,8,4,3}
    };
    int mass2[]={5,8,4,3};
    cout<<"Целочисленная квадратная матрица А: \n";
    for(i=0;i<4;i++){
        for(j=0;j<4;j++){
    cout << mass1[i][j]<<"  ";
        }
    cout<<"\n\n";
    }
    cout<<"\n";
 
    cout<<"Массив D: \n";
    for(t=0;t<4;t++)
        cout<<mass2[t]<<"  ";
 
    cout<<"Совпадающие строки: \n";
?????

И я не понимаю как это сделать? Каким образом можно сравнить массив и матрицу для нахождения одинаковых строк. Подскажите плиз!

 Комментарий модератора 
Используйте теги форматирования кода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2011, 19:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нахождение одинаковых строк (C++):

Написать программу, использующую стандартную функцию сравнения строк для определения среди трех строк, вводимых пользователем, одинаковых. - C++
Написать программу, использующую стандартную функцию сравнения строк для определения среди трех строк, вводимых пользователем, одинаковых.

Нахождение одинаковых чисел в массиве - C++
Здрасьте всем, есть небольшой вопрос. Имеется массив из пяти элементов. Необходимо найти в нем пары одинаковых чисел. Сортировка...

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

Нахождение в массиве двух одинаковых чисел - C++
Здравствуйте. Застрял на задаче, решил попросить у вас помощи. Суть её в том, что из файла считывается массив целых чисел, в нём находятся...

Нахождение в строке/столбце/диагонали матрицы последовательностей одинаковых чисел - C++
Имеется двумерный массив с целыми элементами - единицами и двойками. Задача состоит в том, чтобы при нахождении в строке/столбце/диагонали...

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

6
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
29.04.2011, 19:45 #2
например так:
C++
1
2
3
4
5
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < m; j++)
        if (a[i][j] == b[i])
}
Принцип такой, осталось только модернизировать, добавить некоторый флаг проверки на несовпадение элементов по индексу, можно заменить цикл for на while...etc

Добавлено через 15 секунд
например так:
C++
1
2
3
4
5
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < m; j++)
        if (a[i][j] == b[i])
}
Принцип такой, осталось только модернизировать, добавить некоторый флаг проверки на несовпадение элементов по индексу, можно заменить цикл for на while...etc
1
babazoya
7 / 7 / 3
Регистрация: 28.12.2010
Сообщений: 39
29.04.2011, 19:50 #3
.1234
0
Jaksn
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 114
29.04.2011, 23:51  [ТС] #4
С помощью двух циклов и условия я делал, но не получалось. А что за флаги я понятия не имею. Можешь показать как будет выглядеть код на поиск строк часть программы?
0
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
30.04.2011, 00:24 #5
Вот в блокноте накатал:
C++
1
2
3
4
5
6
7
8
9
10
11
for (int i = 0; i < n; i++)
{
    flag = true;
    j = 0;
    while ((j < m) && (flag))
    {
        a[i][j] != b[i] ? flag = false : j++;           
    }
    if flag
        std::cout << i << std::endl;
}
Флаг - это переменная логического типа, которая контролирует определенное действие...
В данном случае, я ее использовал во внутреннем цикле (по столбцам), дабы не делать лишние итерации...
1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
30.04.2011, 00:34 #6
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
#include <iostream>
#include <algorithm>
 
int main()
{
    const int n = 5;
    int matr[n][n] =
    { 
        {1,2,3,4,5},
        {5,4,3,2,1},
        {3,2,1,4,5},
        {1,2,3,4,5},
        {4,3,2,5,1}
    };
    int arr[n] = {1,2,3,4,5};
    for(int i=0; i<n; ++i)
    {
        if(std::equal(matr[i], matr[i] + n, arr))
        {
            std::cout << "row " << i+1 << " is equal to array\n";
            std::copy(matr[i], matr[i] + n, std::ostream_iterator<int>(std::cout, " "));
            std::cout << '\n';
        }
    }
    return 0;
}
1
Jaksn
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 114
30.04.2011, 23:41  [ТС] #7
Спасибо всем!
0
30.04.2011, 23:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2011, 23:41
Привет! Вот еще темы с ответами:

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

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

Удалить 1 строку из одинаковых строк - C++
Если имеются 2 одинаковые строки, функция удаляет обе, а мне нужно, чтобы удаляло только 1 строку. void ubovlyaem()//функция удаления ...

Сравнение строк и вывод одинаковых слов С++ - C++
Хочу чтобы пользователь вводил 2 строки, они сравнивались и выводились одинаковые слова с двух строк. Программирую не так много, знаю мало,...


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

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

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