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

Написать программу, которая определяет самую длинную серию одинаковых элементов матрицы

25.03.2012, 13:34. Показов 1733. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, которая определяет в какой строке целочисленной матрицы m*n, самая длинная серия одинаковых элементов.

Добавлено через 39 секунд
На си если можно)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.03.2012, 13:34
Ответы с готовыми решениями:

Найти самую длинную серию одинаковых элементов
помогите задачу по си ++ задача:в одномерном массиве найти самую длинную серию одинаковых элементов

В одномерном масиве найти самую длинную серию одинаковых элементов
ЗАДАЧА С++ ПОМОГИТЕ РЕШИТЬ ПЛИЗ ВОТ ЗАДАНИЕ: 1)ПОДГОТОВИТЬ ТЕКСТОВЫЙ ФАЙЛ С ВХОДНЫМИ ДАНЫМИ В РЕДАКТОРЕ 2)РАЗБИТЬ ПРОГРАММУ НА...

В одномерном массиве найти самую длинную серию одинаковых элементов
В одномерном массиве найти самую длинную серию одинаковых элементов. Сделайте в с++ через файлы плиз.

8
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
25.03.2012, 13:56
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
#include <stdio.h>  
#include <stdlib.h>
#include <time.h>
  
int main()
{
    srand( time( NULL ) );
    int a[100][100], n, m, i, j, tmp, I=0, max=1;
    printf("n= "); scanf("%d", &n);
    printf("m= "); scanf("%d", &m);
    printf("Matrica\n");
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
        {
            a[i][j]=rand()%10;
            printf("%d ", a[i][j]);
        }
        printf("\n");
    }
    for(i=0; i<n; i++)
    {
        tmp=1;
        for(j=1; j<m; j++)
        {
            if(a[i][j]==a[i][j-1])
                tmp++;
            else
                tmp=1;
            if(tmp>max)
            {
                max=tmp; I=i;
            }
        }
    }
    printf("%d", I);    
    return 0;
}
0
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 35
25.03.2012, 13:58  [ТС]
Спасибо огромное)
0
 Аватар для Betokuha
32 / 29 / 1
Регистрация: 05.03.2012
Сообщений: 114
25.03.2012, 14:20
Не понял, программа должен показать то строку, которая самая длинная серия одинаковых элементов.
Я 6х6 задал программа показал:

0 4 1 3 8 4
0 2 3 9 3 1
8 1 8 1 8 8
9 1 5 2 5 8
0 8 7 8 2 1
4 8 3 0 6 4
2

Мб должен показать 3?
0
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
25.03.2012, 14:26
Цитата Сообщение от Betokuha Посмотреть сообщение
Не понял, программа должен показать то строку, которая самая длинная серия одинаковых элементов.
ну если быть точнее, то мой код
определяет в какой строке целочисленной матрицы m*n, самая длинная серия одинаковых подряд идущих элементов
1
 Аватар для Betokuha
32 / 29 / 1
Регистрация: 05.03.2012
Сообщений: 114
25.03.2012, 14:33
А вот как понял круто
0
139 / 139 / 39
Регистрация: 26.02.2011
Сообщений: 548
25.03.2012, 14:50
Вот.
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
int poiskseria(int **math,int m, int n)
{
    int x1,x2,count,max_count;
     int max_index = 0;//начинаем с нуля максиал.
     max_count = 1;
    for(int x1=1; x1<m; x1++)//проходимся в цикле по строкам массива,поиск строки с одинаковыми элементами
    {
         count = 1;
         for(int x2=1; x2<n; x2++)
         {
                      if(math[x1][x2]==math[x1][x2-1])//если элемент равен предыдущему, увеличиваем переменную с длинной серии на 1
                      {
                                      count++;
                      }
                      else
                      {
                                 if(max_count<count)
                                 {
                                                    max_count=count;
                                                    max_index=x1;
                                 }
                      count=1;
                      }
         }
    }
    if (max_count > 1)
        printf(" \nNomer stroki s samoi dlinoi seriey odinakovih elementov:  %d",max_index+1);//В С нумерация элементов массива идет с 0,поэтому надо +1строчка
    else
        printf("\nSeriy odinakovih elmntov net");
}
0
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 35
11.04.2012, 09:43  [ТС]
а как будет программа выглядеть полностью? Можно ответ
1
139 / 139 / 39
Регистрация: 26.02.2011
Сообщений: 548
11.04.2012, 11:41
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
int poiskseria(int **math,int m, int n)
{
    int x1,x2,count,max_count;
     int max_index = 0;//начинаем с нуля максиал.
     max_count = 1;
    for(int x1=1; x1<m; x1++)//проходимся в цикле по строкам массива,поиск строки с одинаковыми элементами
    {
         count = 1;
         for(int x2=1; x2<n; x2++)
         {
                      if(math[x1][x2]==math[x1][x2-1])//если элемент равен предыдущему, увеличиваем переменную с длинной серии на 1
                      {
                                      count++;
                      }
                      else
                      {
                                 if(max_count<count)
                                 {
                                                    max_count=count;
                                                    max_index=x1;
                                 }
                      count=1;
                      }
         }
    }
    if (max_count > 1)
        printf(" \nNomer stroki s samoi dlinoi seriey odinakovih elementov:  %d",max_index+1);//В С нумерация элементов массива идет с 0,поэтому надо +1строчка
    else
        printf("\nSeriy odinakovih elmntov net");
}             
int main()
{
    int **math,x1,x2,m,n,a,b;
    printf("Vvedite kolichestvo strok: ");
    scanf("%i",&m);
    printf("Vvedite kolichestva stolbcov: ");
    scanf("%i",&n);
    printf("Vvedite niznuy granicu: ");
    scanf("%i",&a);
    printf("Vvedite verchnuy granicu: ");
    scanf("%i",&b);
    printf("\n");
          while (m<=0 || n <=0  ) //цикл от неверного заполнения
           {
            printf("\tZnacheniy dolzni bit > 0\n");
            printf("\n");
            printf("Vvedite kolichestvo strok: ");
            scanf("%i",&m);
            printf("Vvedite kolichestva stolbcov: ");
            scanf("%i",&n);
            printf("Vvedite niznuy granicu: ");
            scanf("%i",&a);
            printf("Vvedite verchnuy granicu: ");
            scanf("%i",&b);
            printf("\n");
           }
    printf("\n");
    printf("\tMatrica\n\n");
    math = (int**)malloc(m*sizeof(int));//создаем массив и выделем память
         for (x1 = 0;x1<m;x1++)//проходимся в цикле по строкам массива
          {
            math[x1] = (int*)malloc(n*sizeof(int));//выделем память и подсчитываем размер перевенной n
          }
          srand(time(NULL));//рандомные числа для заполнения массива
          for(x1=0;x1<m;x1++)//проходимся в цикле по строкам массива
          {
              for (x2=0;x2<n;x2++)//проходимся в цикле по столбцам массива
              {
                math[x1][x2]=(rand()%(b-a+1))+a;//числа от a до b рамдомно расположенные в матрице
                printf(" %d", math[x1][x2]);
              }
          printf("\n");
          }     
poiskseria(math,m,n);
free(math);//освобождение памяти
getch();
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.04.2012, 11:41
Помогаю со студенческими работами здесь

В произвольном числовом векторе найти самую длинную серию одинаковых элементов
Помогите решить какую-нибудь задачу 1) написать m-функцию, возвращающую вектор сумм элементов тех стобцов произвольно заданной матрицы x...

Определить номер столбца, который содержит самую длинную серию одинаковых чисел
1) Задана целочисленная матрица A(N,M). Определить номер столбца, который содержит самую длинную серию одинаковых чисел.

Написать программу, которая определяет номер строки, в которой сумма элементов матрицы минимальна
Здравствуйте. Помогите пожалуйста написать программу для этих двух задач. 2. Дана матрица чисел A(N,M). Написать программу, которая...

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

Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой минимальна
Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой минимальна


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru