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

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

16.11.2011, 17:11. Показов 3583. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru