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

Написать функцию для нахождения самой длинной последовательности подряд идущих элементов массива,равных какому-либо заданному

16.11.2011, 17:11. Показов 3624. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать функцию для нахождения самой длинной последовательности подряд идущих элементов массива,равных какому-либо заданному. Массив должен передаваться в функцию в качестве параметра. Выполнить инициализацию массива при его объявлении.
Помогите пожалуйста!я в программировании 0...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.11.2011, 17:11
Ответы с готовыми решениями:

Найти длину самой длинной последовательности подряд идущих элементов массива, равных нулю
Задан одномерный массив. Найти длину самой длинной последовательности подряд идущих элементов массива,равных нулю. Написал на паскале нужно...

Найти длину самой длинной последовательности подряд идущих нулевых элементов массива
Задан числовой массив A(n). Найти длину самой длинной последовательности подряд идущих элементов массива, равных нулю.

Поиск самой длинной цепочки из подряд идущих одинаковых элементов в массиве
Помогите пожалуйста решить программу. Если можно как можно проще используя только циклы, ветвления , массивы и переменные. Сам не...

27
 Аватар для YUTD
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 26
22.11.2011, 15:10  [ТС]
Я написал..но по-моему это чушь полная....
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream.h>
#include <stdio.h>
float fun(int[][8],int );   
int main()
{int a[5][8]={1,3,5, 0,0,5,3,-1,
              0,3,2, 4,1,3,1, 9,
             -1,0,0,10,3,1,1, 4,
              2,4,5, 1,1,2,2, 8,
              5,4,7, 6,4,5,5, 2};               
float maxkol;
maxkol=fun(a,5);
cout<<maxkol;
cout<<fun(a,5);
return 0;}
float maxkol(int a[][8],int n);
{int i,j;
float kol,maxkol;
for(a[i][j]=0;i=0,i<n,i++)
for(j=0,j<8,j++)
maxkol=a[i][j];
return maxkol;
}
Компилятор: Default compiler
Выполнение g++.exe...
g++.exe "I:\Zadanie1.cpp" -o "I:\Zadanie1.exe" -I"D:\Программы\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"D:\Программы\Dev-Cpp\include\c++\3.4.2\backward" -I"D:\Программы\Dev-Cpp\include\c++\3.4.2\mingw32" -I"D:\Программы\Dev-Cpp\include\c++\3.4.2" -I"D:\Программы\Dev-Cpp\include" -L"D:\Программы\Dev-Cpp\lib"
In file included from D:/Программы/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31,
from I:\Zadanie1.cpp:1:

D:/Программы/Dev-Cpp/include/c++/3.4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
I:\Zadanie1.cpp:16: error: expected unqualified-id before '{' token
I:\Zadanie1.cpp:16: error: expected `,' or `;' before '{' token

Выполнение завершено
0
Заблокирован
22.11.2011, 15:30
YUTD,

Давайте постепенно разбираться с вашей программой. Во-первых, компилятор вам сообщает, что вы используете имена заголовочных файлов, которые в новом стандарте языка С++ уже не поддерживаются.

То есть вместо

C++
1
2
#include <iostream.h>
#include <stdio.h>
вы должны писать

C++
1
2
#include <iostream>
#include <cstdio>
Исправьте это.

Далее у вас идет объявление функции

C++
1
float fun(int[][8],int );
а где она определяется в коде, этого я не увидел!
1
 Аватар для YUTD
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 26
22.11.2011, 15:45  [ТС]
Моя так называемая программа вообще имеет хоть какую-нибудь связь с моим заданием? Мне кажется моя программа вообще неправильная...

Добавлено через 4 минуты
Первые две строчки исправил. Теперь 5 ошибок.
Компилятор: Default compiler
Выполнение g++.exe...
g++.exe "I:\Zadanie1.cpp" -o "I:\Zadanie1.exe" -I"D:\Программы\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"D:\Программы\Dev-Cpp\include\c++\3.4.2\backward" -I"D:\Программы\Dev-Cpp\include\c++\3.4.2\mingw32" -I"D:\Программы\Dev-Cpp\include\c++\3.4.2" -I"D:\Программы\Dev-Cpp\include" -L"D:\Программы\Dev-Cpp\lib"
I:\Zadanie1.cpp: In function `int main()':
I:\Zadanie1.cpp:12: error: `cout' undeclared (first use this function)
I:\Zadanie1.cpp:12: error: (Each undeclared identifier is reported only once for each function it appears in.)

I:\Zadanie1.cpp: At global scope:
I:\Zadanie1.cpp:16: error: expected unqualified-id before '{' token
I:\Zadanie1.cpp:16: error: expected `,' or `;' before '{' token

Выполнение завершено
0
Заблокирован
22.11.2011, 15:53
YUTD,

Теперь для простоты после опимания заголовочных файлов вставьте директиву

C++
1
using namespace std;
Но вы так и не ответили, где определение функции fun и что она делает.
1
 Аватар для YUTD
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 26
22.11.2011, 16:03  [ТС]
В самом первом сообщении описано задание:
Цитата Сообщение от YUTD Посмотреть сообщение
Написать функцию для нахождения самой длинной последовательности подряд идущих элементов массива,равных какому-либо заданному. Массив должен передаваться в функцию в качестве параметра. Выполнить инициализацию массива при его объявлении.
Добавлено через 2 минуты
теперь две ошибочки:
Компилятор: Default compiler
Выполнение g++.exe...
g++.exe "I:\Zadanie1.cpp" -o "I:\Zadanie1.exe" -I"D:\Программы\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"D:\Программы\Dev-Cpp\include\c++\3.4.2\backward" -I"D:\Программы\Dev-Cpp\include\c++\3.4.2\mingw32" -I"D:\Программы\Dev-Cpp\include\c++\3.4.2" -I"D:\Программы\Dev-Cpp\include" -L"D:\Программы\Dev-Cpp\lib"
I:\Zadanie1.cpp:17: error: expected unqualified-id before '{' token
I:\Zadanie1.cpp:17: error: expected `,' or `;' before '{' token

Выполнение завершено
0
Заблокирован
22.11.2011, 16:21
Цитата Сообщение от YUTD Посмотреть сообщение
В самом первом сообщении описано задание:


Добавлено через 2 минуты
теперь две ошибочки:
Компилятор: Default compiler
Выполнение g++.exe...
g++.exe "I:\Zadanie1.cpp" -o "I:\Zadanie1.exe" -I"D:\Программы\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"D:\Программы\Dev-Cpp\include\c++\3.4.2\backward" -I"D:\Программы\Dev-Cpp\include\c++\3.4.2\mingw32" -I"D:\Программы\Dev-Cpp\include\c++\3.4.2" -I"D:\Программы\Dev-Cpp\include" -L"D:\Программы\Dev-Cpp\lib"
I:\Zadanie1.cpp:17: error: expected unqualified-id before '{' token
I:\Zadanie1.cpp:17: error: expected `,' or `;' before '{' token

Выполнение завершено
Меня не интересует, что написано в самом первом сообщении. Вы писали код? Я вас спрашиваю, где определение функции fun? Или вы - в неадекватном состоянии и не можете реагировать на окружающий вас мир?!
0
 Аватар для YUTD
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 26
22.11.2011, 16:29  [ТС]
Я не знаю как его написать!!!
Цитата Сообщение от YUTD Посмотреть сообщение
Помогите пожалуйста!я в программировании 0...
0
Заблокирован
22.11.2011, 16:32
Цитата Сообщение от YUTD Посмотреть сообщение
Я не знаю как его написать!!!
А зачем вы пишите то, что даже сами не понимаете? Выкините из программы все то, что не понимаете, и оставьте в ней то, что вам самому ясно. И покажите, что у вас получилось.
0
 Аватар для YUTD
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 26
22.11.2011, 16:39  [ТС]
Я пробовал писать по образцам..что-то заменил.Думал: а вдруг получится...на ошибках учатся...а если так,то останутся первые две строчки,и две последних..
0
Заблокирован
22.11.2011, 16:41
Цитата Сообщение от YUTD Посмотреть сообщение
Я пробовал писать по образцам..что-то заменил.Думал: а вдруг получится...на ошибках учатся...а если так,то останутся первые две строчки,и две последних..
Ну, так покажите, все эти строчки.
0
 Аватар для YUTD
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 26
22.11.2011, 17:01  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cstdio>
..
int main()
{int a[5][8]={1,3,5, 0,0,5,3,-1,
              0,3,2, 4,1,3,1, 9,
             -1,0,0,10,3,1,1, 4,
              2,4,5, 1,1,2,2, 8,
              5,4,7, 6,4,5,5, 2}; 
..
return 0;}
..
0
Заблокирован
22.11.2011, 17:20
Цитата Сообщение от YUTD Посмотреть сообщение
#include <iostream>
#include <cstdio>
..
int main()
{int a[5][8]={1,3,5, 0,0,5,3,-1,
0,3,2, 4,1,3,1, 9,
-1,0,0,10,3,1,1, 4,
2,4,5, 1,1,2,2, 8,
5,4,7, 6,4,5,5, 2};
..
return 0;}
..
Теперь вернемся к вашему заданию. Где в нем сказано, что должен рассматриваться двумерный массив? Я там такого не увидел. Там говорится просто про массив, то есть когда не указыватся количество размерностей массива, обычно имеется в виду одномерный массив. Или я не прав?
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
23.11.2011, 11: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
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <ctime>
#include <cstdlib>
 
int maxChain(int *array, int size, int value) {
  int maxStart = -1;
  int maxLength = 0;
  
  for (int i = 0; i < size; ++i) {
    if (array[i] == value) {
      int thisLength = 0;
      int thisStart = i;
      while (i < size && array[i] == value) {
        ++thisLength;
        ++i;
      }
      if (thisLength > maxLength) {
        maxStart = thisStart;
        maxLength = thisLength;
      }
    }
  }
  
  return maxStart;
}
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  int size = 15;
  int *array = new int[size];
 
  for (int i = 0; i < size; ++i)
    std::cout << (array[i] = rand() % 4) << " ";
  std::cout << std::endl;
 
  int value = rand() % 10;
  value = array[size - 1];
  int start = maxChain(array, size, value);
  
  if (start > -1) {
    std::cout << "Max chain of " << value << " found at " << start << std::endl;
  } else {
    std::cout << "Value of " << value << " not found." << std::endl;;
  }
  
 
  delete array;
  return 0;
}
0
 Аватар для YUTD
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 26
29.11.2011, 17:18  [ТС]
Тогда ответьте мне, пожалуйста. Значит должно быть несколько одномерных массивов???
0
Заблокирован
29.11.2011, 17:29
Цитата Сообщение от YUTD Посмотреть сообщение
Тогда ответьте мне, пожалуйста. Значит должно быть несколько одномерных массивов???
Почему несколько? Всего один.

Я понял, чего вы не понимаете в своем задании. Когда в задании говорится о последовательности, то имеется в виду подпоследовательность в заданном одномерном массиве.

Например, пусть имеется массив

int a[] = { 1, 1. 4. 8. 1, 4, 7, 1, 1, 1, 4 };

И задание говорит вам, что нужно найти максимальную последовательность рядом идущих элементов, которые равны заданному числу, например, 1. В данном примере такой подпоследовательностью будут три подряд идущие 1 в конце массива.
1
 Аватар для YUTD
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 26
29.11.2011, 17:44  [ТС]
Как я поняла, начало программы будет выглядеть так:
#include <iostream.h>
#include <stdio.h>
int main ()
int a[] = { 9, 3, 3, 3, 1, 4, 7, 2, 1, 1, 4 };
0
Заблокирован
29.11.2011, 17:58
Цитата Сообщение от YUTD Посмотреть сообщение
Как я поняла, начало программы будет выглядеть так:
#include <iostream.h>
#include <stdio.h>
int main ()
int a[] = { 9, 3, 3, 3, 1, 4, 7, 2, 1, 1, 4 };
Нет, не так.
В С++ стандартные заголовки указываются без расширения '.h". К тому же соверешнно нет необходимости включать два этих заголовка, так как по существу они выполняют одни и те же задачи, но разными способами. Кроме того вы забыли указать фигурные скобки для тела функции main. Поэтому начало программы, если она пишется на С++, должно выглядеть так

C++
1
2
3
4
5
6
7
8
9
10
#include   <iostream>
 
 
int main()
{
 
   int a[] = { 9, 3, 3, 3, 1, 4, 7, 2, 1, 1, 4 };
 
   return ( 0 );
}

Пока добавим сюда функцию вывода массива на консоль.

C++
1
2
3
4
5
void display( int a[], int n )
{
   for ( int i = 0; i < n; i++ ) std::cout << a[i] << ' ';
   std::cout << std::endl;
}

Объединим, что мы написали

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include   <iostream>
 
 
void display( int a[], int n )
{
   for ( int i = 0; i < n; i++ ) std::cout << a[i] << ' ';
   std::cout << std::endl;
}
 
int main()
{
 
   int a[] = { 9, 3, 3, 3, 1, 4, 7, 2, 1, 1, 4 };
 
   display( a, sizeof( a ) / sizeof( *a ) );
 
   return ( 0 );
}
Попробуйте это откомпилировать и выполнить, и, если все получится, пойдем дальше.
1
 Аватар для YUTD
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 26
29.11.2011, 18:10  [ТС]
получилось!!!

Добавлено через 2 минуты
ой
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
29.11.2011, 18:21
Цитата Сообщение от YUTD Посмотреть сообщение
Написать функцию для нахождения самой длинной последовательности подряд идущих элементов массива,равных какому-либо заданному.
Вам еще нужна эта функция?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.11.2011, 18:21
Помогаю со студенческими работами здесь

Как правильно написать счетчик для нахождения самой длинной строки?
Ввести массив строк и найти в нем максимальную по длине строку. Не учитывать случай, когда таких строк несколько. #include...

Определить длину самой большой последовательности подряд идущих согласных
В строке записаны несколько предложений . Каждое предложение заканчивается точкой, вопросительным или восклицательным знаками. 1....

Определить длину самой длинной последовательности подряд идущих элементов массива, равных нулю
Помогите найти ошибку в коде. При вводе значений элементов массива, ну например (012300120001) - 12 значений, я ожидал что будет выведен...

Определить длину самой длинной последовательности подряд идущих элементов массива, равных нулю
надо сделать 2 проги, а я в фортране вообще не шарю) 2)Заданы число N и целочисленный массив A(N). Написать программу, определяющую...

Найти длину самой длинной последовательности подряд идущих элементов массива
Помогите написать программу:Задан целочисленный массив A(N). Найти длину самой длинной последовательности подряд идущих элементов...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru