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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ilyasfromkz
-1 / 1 / 0
Регистрация: 12.09.2012
Сообщений: 46
#1

runtime error - C++

15.10.2012, 19:53. Просмотров 638. Ответов 4
Метки нет (Все метки)

Входные данные двумерный массив 10х10, заполненный нолями и единицами, где 0-пустая клетка, а 1-занятая, найти наиболее длинную линию из пустых клеток на поле для расположения корабля, расположенную по вертикали либо по горизонтали и вывести ее длину, максимальная длина корабля 10 клеток.

Пример:
Вход:
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
Выход:
9

написал код выдает runtime error не подскажете в чем беда? deadline через два часа сдавать(

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
#include <iostream>
 
using namespace std;
 
int main() {
  int arr[10][10], arr1[10][5], arr2[10][5], i, j, count,c,max;
  for (i=1; i<=10; i++) 
    for (j=1; j<=10; j++)
      cin >> arr[i][j];
  c=0;
  max=0;
  for (i=1; i<=10; i++)
    for (j=1; j<=5; j++) {
      arr1[i][j]=0;
      arr2[i][j]=0;
    }
  for (i=1; i<=10; i++)
    for (j=1; j<=10; j++) {
      if (arr[i][j]==0)
        count++;
      else 
        if (j!=1)
          if (arr[i][j-1]!=1) {
            c++;
            arr1[i][c]=count;
            count=0;
          }
          else 
            continue;
        }
  for (j=1; j<10; j++)
    for (i=1; i<=10; i++) {
      if (arr[i][j]==0)
        count++;
      else 
        if (i!=1)
          if (arr[i-1][j]!=1) {
            c++;
            arr2[i][c]=count;
            count=0;
          }
          else 
            continue;
        }
  for (i=1; i<=10; i++)
    for (j=1; j<=5; j++) 
      if (max<arr1[i][j])
        max=arr1[i][j];
    
  for (i=1; i<=10; i++)
    for (j=1; j<=5; j++)
      if (max<arr2[i][j])
        max=arr2[i][j];
  cout<<max<<endl;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2012, 19:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос runtime error (C++):

Runtime Error - C++
Доброго времени суток. Решал на первый взгляд простую задачу по распаковке строки. Если вкратце, то нужно строку вида 3A2BC...

Runtime error #3 - C++
#include &lt;iostream&gt; int main() { int a, b, c, page1, page2, hypot; std::cin &gt;&gt; a &gt;&gt; b &gt;&gt; c; if ((c &gt; a) &amp;&amp; (c &gt; b)) ...

Runtime Error - C++
Пытаюсь создать игру 2048, но при выполнении движений вылетает Runtime Error void Game::doUp() { savedlist = celllist; ...

Runtime Error, Signal 6 - C++
вопрос скорее теоретический, чем практический чем может быть вызван RE с возвращенным значением 6? нашел англоязычный сайт с таблицей...

Почему runtime error - C++
Вот сама задача http://********/?main=task&amp;id_task=120. #include &lt;algorithm&gt; #include &lt;fstream&gt; using namespace std; int...

Shared_ptr runtime error - C++
Всем привет. Решил наконец-то изучить умные указатели, а то чувствую себя древним. Начать решил как всегда со своего любимого хеллоу...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
15.10.2012, 19:58 #2
C++
1
2
3
for (i=1; i<=10; i++) 
    for (j=1; j<=10; j++)
      cin >> arr[i][j];
массив с 0 начинается, а не с единицы
0
ilyasfromkz
-1 / 1 / 0
Регистрация: 12.09.2012
Сообщений: 46
15.10.2012, 20:15  [ТС] #3
Цитата Сообщение от David Sylva Посмотреть сообщение
C++
1
2
3
for (i=1; i<=10; i++) 
    for (j=1; j<=10; j++)
      cin >> arr[i][j];
массив с 0 начинается, а не с единицы
так нет же! у меня же с единицы он начинается, считывается и во всех циклах с единицы
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
15.10.2012, 20:17 #4
Цитата Сообщение от ilyasfromkz Посмотреть сообщение
так нет же! у меня же с единицы он начинается, считывается и во всех циклах с единицы
У тебе может и с единицы, у всех остальных начинается с 0.
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
15.10.2012, 21:17 #5
У тебя циклы должны быть такими:
C
1
for (i=0; i<10; i++)
В С/С++ индексация начинается с нуля.
Элемента arr[10][10] не существует, а ты к нему обращаешься.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2012, 21:17
Привет! Вот еще темы с ответами:

Ошибка компиляции Runtime error - C++
Такой код: #include &lt;iostream&gt; #include &lt;ostream&gt; #include &lt;sstream&gt; #include &lt;string&gt; typedef std::string String; int...

Runtime error при выводе - C++
Вылетает на выводе на экран после сортировки #pragma once #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; #include...

Ошибка во время исполнения runtime-error - C++
Добрый день. Программа компилируется на RAD Studio XE3. Нормально работает и показывает правильный результат. При отправке в проверочный...

Acm.timus Runtime error (access violation) - C++
Ограничение времени: 0.5 секунды Ограничение памяти: 64 МБ Наш джип находится в пустыне и должен достичь точки, находящейся на...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.10.2012, 21:17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru