Форум программистов, компьютерный форум CyberForum.ru

Найти площадь крупнейшего сплошного прямоугольника суши - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при компиляции(Тестирование памяти) http://www.cyberforum.ru/cpp-beginners/thread712291.html
error C3861: 'ReadMemory': identifier not found(на MSDN написано что нужно подключить то та-то) Подключаю одну из двух написанных(If you are writing a WdbgExts extension, include wdbgexts.h. If you are writing a DbgEng extension that calls this function, include wdbgexts.h before dbgeng.h) wdbgexts.h- подключаю пишет ": fatal error C1083: Cannot open include file: 'wdbgexts.h': No such file...
C++ Нахождение разных чисел в массиве помогите пожалуйста пересести на с++ program p3; uses crt; var a:array of integer; i,j,n,z,l:integer; begin http://www.cyberforum.ru/cpp-beginners/thread712287.html
C++ Упорядочить строки матрицы по возрастанию их первых элементов
В работе память для массива должна выделяться динамически. На экран выводить исходные данные и результат. Дана матрица размером NxM. Упорядочить ее строки по возрастанию их первых элементов. #include "iostream.h" #include "iomanip.h" #include "math.h"
Сумма ряда C++
Вычислить сумму первых n членов ряда, где n-ный член ряда вычисляется по формуле (x^n)/n. Суть проблемы: дальше определённого значения вычисления не идут. Например, для числа 2 сумма не получается больше 6.389057, для 3 - больше 19.085539, и т.д. #include <stdio.h> #include <conio.h> int main() { int i=1, n; float x, sum=0, xn=1;
C++ создание классов http://www.cyberforum.ru/cpp-beginners/thread712280.html
Создать класс Зачет, имеющий поля: название предмета, зачет (лог. поле). Создать производный класс Экзамен, имеющий поле оценка
C++ можно ли считать данный код реализацией очереди можно ли считать данный код реализацией очереди. и если нет, то почему. #include <stdlib.h> #include <stdio.h> typedef struct LIST{ int val; struct LIST *ptr; }; подробнее

Показать сообщение отдельно
gng
639 / 485 / 133
Регистрация: 08.09.2013
Сообщений: 1,307
02.11.2014, 23:40
SatanaXIII, а с такими данными выдает 16 вместо 20
7 8
01110111
11111111
11111101
11111101
01111111
10111111
11011111
Предложу свой вариант, вроде бы работает.
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 <stdio.h>
#include <string.h>
#include <malloc.h>
 
int main() {
  int M, N;
  scanf ("%d %d\n", &M, &N);
  char *a= (char*)malloc (M * N + 2);
  for (char *p= a; p < a + M*N; p+= N) fgets (p, N+2, stdin);
 
  int max= 0;
  for (char *p = a;  p < a+ M*N; p++) {
    for (int k=1; k <= (a+M*N-p-1)%N+1; k++) {
      if (*(p+k-1) == '0') break;
      int s= k;
      for (char *t= p + N; t < a + M*N; t+=N) {
        if (strncmp (p, t, k)) break;
        s+= k;
      }
      if (max < s) max= s;
    }
  }
  printf ("%d\n", max);
  free (a);
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru