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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.91
Nevado4ka
0 / 0 / 0
Регистрация: 18.11.2011
Сообщений: 45
#1

Вывод массива по спирали. Ошибка исполнения. - C++

19.11.2011, 20:38. Просмотров 3130. Ответов 20
Метки нет (Все метки)

Дан квадратный массив задаваемой размерности, нужно вывести в ряд его элементы змейкой начиная с элемента последней строки последнего столбца и заканчивая элементом посередине массива, идти нужно оббегая массив Вывод массива по спирали. Ошибка исполнения.
 Комментарий модератора 
Картинки загружайте на форум, во избежание их удаления или потери на сторонних ресурсах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2011, 20:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывод массива по спирали. Ошибка исполнения. (C++):

Ошибка исполнения при заполнении массива - C++
Программа работы с квадратными матрицами. Используются динамические массивы. Задание из вуза. Использование функций запрещено по...

Ошибка этапа исполнения - C++
Доброго времени суток! Хочу разобраться с ошибкой, буду благодарна за помощь) Вот код функции: void addCard ( sDeck* oldDeck,...

Ошибка во время исполнения - C++
Здравствуйте, вылазит ошибка: Debug Assertion Failed! Expression: string subscript out of range while(getline(ffc, bffc)) { int...

Ошибка во время исполнения - C++
При попытке запустить программу Visual Studio пишет: Unhandled exception at 0x011027ce in GLTore.exe: 0xC0000005: Access violation...

MPI, ошибка исполнения - C++
int size, rank; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Status...

Ошибка исполнения Stack overflow - C++
Решил написать что-то вроде стратегии в консоле, но в итоге застрял в самом начале ( не могу найти нормальный способ сравнивать строки, уже...

20
Nevado4ka
0 / 0 / 0
Регистрация: 18.11.2011
Сообщений: 45
30.11.2011, 22:20  [ТС] #16
за комментарии спасибо и за функцию вообще огромнейшее)))
0
soon
2545 / 1310 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
30.11.2011, 22:35 #17
Цитата Сообщение от Nevado4ka Посмотреть сообщение
функцию вообще огромнейшее
Поаккуратнее с ней, возможно, она не до конца протестирована. Если будут косяки в работе напишите сюда или в ЛС - поправлю.
0
Nevado4ka
0 / 0 / 0
Регистрация: 18.11.2011
Сообщений: 45
01.12.2011, 10:30  [ТС] #18
хорошо, но пока в измененной версии все нормально работает, тьфу тьфу тьфу))
0
qpaHTa3ep4ik
1 / 1 / 1
Регистрация: 27.11.2011
Сообщений: 9
01.12.2011, 20:57 #19
Когда - то писал что то по типо вашей, так что вот мой вариант

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
#include<fstream.h>
int main()
{
    int j,n,m,x,y,i,s,q;
    int k[200][200];
    ifstream fin("1.dat");
    ofstream fout("1.sol");
    fin>>n>>m;
    fin.close();
    i=1;y=0;s=m*n;
    while(i<=s)
    {y++;
     for(q=y-1;q<=m-y;q++)
      {
        if(i<=s)
        {
           k[y-1][q]=i;
           i++;
         }
      }
      for(q=y;q<=n-y;q++)
      {
         if(i<=s)
         {
           k[q][m-y]=i;
           i++;
         }
      }
      for(q=m-y-1;q>=y-1;q--)
      {
        if(i<=s)
        {
          k[n-y][q]=i;
          i++;
        }
      }
      for(q=n-y-1;q>=y;q--)
      {
        if(i<=s)
        {
          k[q][y-1]=i;
          i++;
        }
      }
     }
     for(i=0;i<n;i++)
     {if(i>0)fout<<"\n";
       for(j=0;j<m;j++)
      { if(k[i][j]<10)fout<<"   "<<k[i][j]<<" ";
        if(k[i][j]>=10&&k[i][j]<=99)fout<<"  "<<k[i][j]<<" ";
        if(k[i][j]>=100&&k[i][j]<=999)fout<<" "<<k[i][j]<<" ";
        if(k[i][j]>=1000&&k[i][j]<=9999)fout<<k[i][j]<<" ";
       
       
       }
       
     }
    
}
0
soon
01.12.2011, 21:45
  #20

Не по теме:

C++
1
2
3
4
{ if(k[i][j]<10)fout<<"   "<<k[i][j]<<" ";
if(k[i][j]>=10&&k[i][j]<=99)fout<<"  "<<k[i][j]<<" ";
if(k[i][j]>=100&&k[i][j]<=999)fout<<" "<<k[i][j]<<" ";
if(k[i][j]>=1000&&k[i][j]<=9999)fout<<k[i][j]<<" ";
Для этого есть setw(int) в iomanip

0
qpaHTa3ep4ik
1 / 1 / 1
Регистрация: 27.11.2011
Сообщений: 9
01.12.2011, 23:09 #21
soon
ах ну это давно было просто, только начинал) На что знаний хватало так и делал)
0
01.12.2011, 23:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2011, 23:09
Привет! Вот еще темы с ответами:

Ошибка исполнения при записи в vector - C++
Вылетает при воде первой строки. Не пойму почему? #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;sstream&gt; #include &lt;fstream&gt; ...

Ошибка этапа исполнения в классе Матрица - C++
Всем привет снова!) Теперь я написала код по задаче, которая гласит: &quot;у вас есть два класса -один одномерный массив, другой матрица. Вы...

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

Ошибка этапа исполнения - переполнение стека - C++
Помогите пожалуйста C++ написала программу она правильно работает, но при каждом запуске она выкидывает окно переполнение стека...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Опции темы

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