Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 28.03.2016
Сообщений: 4

Двумерный массив и сравнение строк

29.04.2016, 11:21. Показов 4920. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана целочисленная матрица размера M x N. Различные строки матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках. Найти количество строк, похожих на последнюю строку.

Массив создала, а как написать функцию для сравнения строк с последней никак не пойму, помогите пожалуйста
(числа в массиве из интервала (-10; 10))

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
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <time.h>
 
using namespace std;
 
int main(int argc, char** argv) {
    int n,m;
    cout << "Enter N= ";
    cin >> n;
    cout << "Enter M= ";
    cin >> m;
    int arr[n][m];
    
    char v;
    srand(time(NULL));
    cout << "Enter 'm' for manual input of array elements" << endl;
    cout << "Enter 'a' for automatic input of array elements" <<endl;
    cin >> v;
    
    if(v=='m'){
        for (int i = 0; i < n; i++) 
        for (int j = 0; j < m; j++) {
        printf ("Arr[%d][%d]=", i, j);
        scanf ("%d", &arr[i][j]);
        }
    } else if (v=='a'){
        for (int i = 0; i < n; i++) 
        for (int j = 0; j < m; j++) {
            arr[i][j] = rand()%21-10;
        }
}
for(int i = 0; i < n; i++){
for (int j = 0; j < m; j++){
        cout.width(3);
        cout << arr[i][j] << " ";
    }
    cout << endl; 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.04.2016, 11:21
Ответы с готовыми решениями:

Двумерный массив, сравнение, поиск максимального, замена
Имеется двумерный массив 6х6. Если все элементы второго столбца равны 1, то заменить максимальный элемент таблицы на 100.

Двумерный массив.Дан массив 5 х 5. Определить сумму элементов тех строк, где диагональный элемент равен нулю и записать их в отдельный массив.
помогите составить программу. во задание:Дан массив 5 х 5. Определить сумму элементов тех строк, где диагональный элемент равен нулю и...

Двумерный массив. Заполнить одномерный массив суммой значений элементов строк
Помогите, пожалуйста!=( Дан двумерный массив. Заполнить одномерный массив суммой значений элементов строк, вывести полученную информацию...

10
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
29.04.2016, 11:25
cin и scanf причудливая смесь.
Цитата Сообщение от Carus Посмотреть сообщение
похожих на последнюю строку
Для начала определитесь, что значить "похожих"
0
0 / 0 / 0
Регистрация: 28.03.2016
Сообщений: 4
29.04.2016, 11:33  [ТС]
Например, дан массив
0 2 3 -3 5
2 10 1 2 6
7 6 3 9 4
7 8 2 9 1
2 6 2 10 1

в этом массиве одна строка (вторая) похожа на последнюю.
то есть, числа те же
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
29.04.2016, 11:37
Отсортировать все строки по возрастанию, потом сравнить поэлементно.
0
 Аватар для lawr
385 / 279 / 478
Регистрация: 09.05.2014
Сообщений: 769
29.04.2016, 11:57
функция сравнения:
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool alike (int *A, int *B, int n){
    int i, j;
    for (i=0; i<n; i++)
    {
    for (j=0; j<n; j++)
        if (*(A+i)==*(B+j))
            break;
        if (j==n)
            return false;
    }
    return true;
}
в main после 39-й строчки:
C++
1
2
3
4
5
int q=0;
for (int i=0; i<n-1; i++)
 if (alike (arr[i], arr[n-1], m))
    q++;
cout<<q<<endl;
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
29.04.2016, 12:10
Цитата Сообщение от lawr Посмотреть сообщение
функция сравнения:
Неправильная
0
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
29.04.2016, 12:45
ну тут надо точно определить что значит похожая например:
2 2 2 2 4
3 5 2 4 1
является ли она похожей?
0
 Аватар для lawr
385 / 279 / 478
Регистрация: 09.05.2014
Сообщений: 769
29.04.2016, 13:02
mimicria, может и неправильная, но работает)
jurok_85, написано же
Различные строки матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках. Найти количество строк
т.е. состоят из одинаковых чисел, порядок не важен.
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
29.04.2016, 13:16
Цитата Сообщение от lawr Посмотреть сообщение
т.е. состоят из одинаковых чисел, порядок не важен.
Что функция выдаст на таких двух строках: {2,2,5,2,2} и {2,5,7,8,9} ?
0
 Аватар для lawr
385 / 279 / 478
Регистрация: 09.05.2014
Сообщений: 769
29.04.2016, 13:52
mimicria, да, лоханулся мальца) тогда так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
bool alike (int *A, int *B, int n){
    int i, j, k;
    for (i=0; i<n; i++)
    {
    for (j=0; j<n; j++)
        if (*(A+i)==*(B+j))
            break;
    for (k=0; k<n; k++)
        if (*(B+i)==*(A+j))
            break;
    if (j==n||k==n)
        return false;
    }
    return true;
}
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
29.04.2016, 14:45
Ну и как вариант
C++
1
2
3
4
5
6
bool alike (int *A, int *B, int n)
{
 sort(A,A+n);
 sort(B,B+n);
 return equal(A,A+n,B);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.04.2016, 14:45
Помогаю со студенческими работами здесь

Двумерный массив. Заполнить одномерный массив суммой значений элементов строк
Помогите, пожалуйста!=( Дан двумерный массив. Заполнить одномерный массив суммой значений элементов строк, вывести полученную информацию...

Объявить массив rs из 5 строк как двумерный символьный массив
Объявить массив rs из 5 строк как двумерный символьный массив. Инициализировать rs значениями “un”, “une”, “des”, “de”. char rs =...

Дан двумерный массив, содержащий 14 строк и 15 столбцов. Элементами массива являются целые числа. Упорядочить массив
Как решить в C# Windows Forms? В консольной не надо)

Дан двумерный массив. Просмотреть четные строки и создать одномерный массив из отрицательных элементов этих строк
Дан двумерный массив. Просмотреть четные строки и создать одномерный массив из отрицательных элементов этих строк. Произвести сортировку...

Переписать массив строк из файла в двумерный массив
Переписать массив строк из файла в двумерный массив типа CHAR &quot; char Map&quot; вот что получается, как сделать чтоб копировал строку в...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru