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

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

Войти
Регистрация
Восстановить пароль
 
realworld1
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 27
#1

Расположить элементы масива по схеме - C++

21.05.2012, 20:56. Просмотров 682. Ответов 11
Метки нет (Все метки)

Дана последовательность чисел. Получить квадратную матрицу порядка n, элементами которой являются числа, расположенные по схеме:

Название: page6.jpg
Просмотров: 86

Размер: 21.1 Кб
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2012, 20:56     Расположить элементы масива по схеме
Посмотрите здесь:

Элементы масива C++
C++ Найти разные элементы масива
C++ Массив: расположить по возрастанию элементы второй строки.
C++ Элементы заданного массива T(k) расположить в обратном порядке: t k,t k-1,.,t2,t1
Элементы заданного массива T(k) расположить в обратном порядке: t k,t k-1,.,t2,t1 C++
C++ Составить программу размещающая элементы масива в возврастающем порядке.
C++ Расположить элементы матрицы так, чтобы на побочной диагонали были бы максимальные элементы строк
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
22.05.2012, 00:35     Расположить элементы масива по схеме #2
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
int cnt=0;
float* *a=new float*[n];
for(int i=0; i<n; i++)
a[i]=new float[n];
a[0][n-1]=p[0];//p -- массив
cnt++;
bool fl=false;
for(int i=0; i<2*n-3; i++)
{
   if(i>=n-1)
   {
      int l=2*n-i-1;
      if(fl)
      {
         for(int j=0; j<l; j++)
         {
            a[i-n+1+j][j]=p[cnt];
            cnt++;
         }
      }
      else
      {
         for(int j=0; j<l; j++)
         {
            a[l+i-n-j][l-1-j]=p[cnt];
            cnt++;
         }
      }
   }
   else
   {
      int l=i+2;
      if(fl)
      {
         for(int j=0; j<l; j++)
         {
            a[j][n-2-i+j]=p[cnt];
            cnt++;
         }
      }
      else
      {
         for(int j=0; j<l; j++)
         {
            a[l-1-j][l+n-3-i-j]=p[cnt];
            cnt++;
         }
      }
   }
   fl=!fl;
}
a[n-1][0]=p[cnt];
Проверяй.
realworld1
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 27
22.05.2012, 00:50  [ТС]     Расположить элементы масива по схеме #3
вот
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
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
using namespace std;
 
 
int main () {
 
 
 
 
int cnt=0;
float* *a=new float*[n];
int i;
for(i=0; i<n; i++)
a[i]=new float[n];
a[0][n-1]=p[0];//p -- Г¬Г*Г±Г±ГЁГў
cnt++;
bool fl=false;
int i;
for(i=0; i<2*n-3; i++)
{
   if(i>=n-1)
   {
      int l=2*n-i-1;
      if(fl)
      {
            int j;
         for(j=0; j<l; j++)
         {
            a[i-n+1+j][j]=p[cnt];
            cnt++;
         }
      }
      else
      {
          int j;
         for(j=0; j<l; j++)
         {
            a[l+i-n-j][l-1-j]=p[cnt];
            cnt++;
         }
      }
   }
   else
   {
      int l=i+2;
      if(fl)
      {
          int j;
         for(j=0; j<l; j++)
         {
            a[j][n-2-i+j]=p[cnt];
            cnt++;
         }
      }
      else
      {
          int j;
         for(j=0; j<l; j++)
         {
            a[l-1-j][l+n-3-i-j]=p[cnt];
            cnt++;
         }
      }
   }
   fl=!fl;
}
a[n-1][0]=p[cnt];
 
system("pause");
 
return 0;
}
Ошыббки:

Cpp1.cpp
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(12) : error C2086: 'i' : redefinition
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(15) : error C2109: subscript requires array or pointer type
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(18) : error C2086: 'i' : redefinition
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(29) : error C2109: subscript requires array or pointer type
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(38) : error C2109: subscript requires array or pointer type
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(51) : error C2109: subscript requires array or pointer type
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(60) : error C2109: subscript requires array or pointer type
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(67) : error C2109: subscript requires array or pointer type
Error executing cl.exe.
UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
22.05.2012, 00:57     Расположить элементы масива по схеме #4
1) Убираем из 18-й строки int i;
2) Дописываем ввод массива p. Я там не знаю, где он у вас -- в файле, или вам нужно его ручками вбить, в общем -- ввод нужен

А дальше посмотрим.
realworld1
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 27
22.05.2012, 01:00  [ТС]     Расположить элементы масива по схеме #5
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
60
61
62
63
64
65
66
67
#include <iostream>
using namespace std;
 
 
int main () {
 
 
 
int n,p;
 
int cnt=0;
float* *a=new float*[n];
for(int i=0; i<n; i++)
a[i]=new float[n];
a[0][n-1]=p[0];//p -- Г¬Г*Г±Г±ГЁГў
cnt++;
bool fl=false;
for(i=0; i<2*n-3; i++)
{
   if(i>=n-1)
   {
      int l=2*n-i-1;
      if(fl)
      {
         for(int j=0; j<l; j++)
         {
            a[i-n+1+j][j]=p[cnt];
            cnt++;
         }
      }
      else
      {
         for(int j=0; j<l; j++)
         {
            a[l+i-n-j][l-1-j]=p[cnt];
            cnt++;
         }
      }
   }
   else
   {
      int l=i+2;
      if(fl)
      {
         for(int j=0; j<l; j++)
         {
            a[j][n-2-i+j]=p[cnt];
            cnt++;
         }
      }
      else
      {
         for(int j=0; j<l; j++)
         {
            a[l-1-j][l+n-3-i-j]=p[cnt];
            cnt++;
         }
      }
   }
   fl=!fl;
}
a[n-1][0]=p[cnt];
 
system("pause");
 
return 0;
}

как его вбить ?

C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(15) : error C2109: subscript requires array or pointer type
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(27) : error C2109: subscript requires array or pointer type
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(35) : error C2109: subscript requires array or pointer type
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(47) : error C2109: subscript requires array or pointer type
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(55) : error C2109: subscript requires array or pointer type
C:\Users\User\Desktop\SomeThing\cpp\lab5\Cpp1.cpp(62) : error C2109: subscript requires array or pointer type
Error executing cl.exe.
UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
22.05.2012, 01:07     Расположить элементы масива по схеме #6
1) Вводим n с клавиатуры
Цитата Сообщение от UFO94 Посмотреть сообщение
2) Дописываем ввод массива p. Я там не знаю, где он у вас -- в файле, или вам нужно его ручками вбить, в общем -- ввод нужен
realworld1
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 27
22.05.2012, 01:15  [ТС]     Расположить элементы масива по схеме #7
номер строки?

Добавлено через 1 минуту
и в каком цикле ввод с клавы?
UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
22.05.2012, 01:28     Расположить элементы масива по схеме #8
n -- 9 строка, p -- 10.
Сразу инициализируем n. Сколько у вас элементов в массиве p? Вот и пишем int n=...;
Обьявляем p:
C++
1
float* p=new float[n];
И инициализируем, например, так:
C++
1
2
for(int i=0; i<n; i++)
scanf("%f",&p[i]);
realworld1
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 27
22.05.2012, 01:31  [ТС]     Расположить элементы масива по схеме #9
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
using namespace std;
 
 
int main () {
 
int n;
cin>>n;
float* p=new float[n];
for(int i=0; i<n; i++)
{
scanf("%f",&p[i]);
}
int cnt=0;
float* *a=new float*[n];
 
for(i=0; i<n; i++)
a[i]=new float[n];
 
a[0][n-1]=p[0];//p -- Г¬Г*Г±Г±ГЁГў
 
cnt++;
bool fl=false;
for(i=0; i<2*n-3; i++)
{
   if(i>=n-1)
   {
      int l=2*n-i-1;
      if(fl)
      {
         for(int j=0; j<l; j++)
         {
            a[i-n+1+j][j]=p[cnt];
            cnt++;
         }
      }
      else
      {
         for(int j=0; j<l; j++)
         {
            a[l+i-n-j][l-1-j]=p[cnt];
            cnt++;
         }
      }
   }
   else
   {
      int l=i+2;
      if(fl)
      {
         for(int j=0; j<l; j++)
         {
            a[j][n-2-i+j]=p[cnt];
            cnt++;
         }
      }
      else
      {
         for(int j=0; j<l; j++)
         {
            a[l-1-j][l+n-3-i-j]=p[cnt];
            cnt++;
         }
      }
   }
   fl=!fl;
}
a[n-1][0]=p[cnt];
 
system("pause");
 
return 0;
}
не выводит
куда вывод?
UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
22.05.2012, 01:48     Расположить элементы масива по схеме #10
Перед system("PAUSE"); , очевидно.
realworld1
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 27
22.05.2012, 23:39  [ТС]     Расположить элементы масива по схеме #11
так нада в цикле

Добавлено через 4 часа 37 минут
ну там в цикле где-то нада?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2012, 01:21     Расположить элементы масива по схеме
Еще ссылки по теме:

C++ Расположить элементы массива в порядке возрастания
Отсортировать только положительные элементы масива по росту C++
Заполнение масива по формуле и нахождение наименьшего положительного элемента масива C++
C++ Как удалить элементы из масива?
C++ Переставить местами элементы массива по заданной схеме

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

Или воспользуйтесь поиском по форуму:
UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
23.05.2012, 01:21     Расположить элементы масива по схеме #12
Вывад нада вканце. Зачем он в цикле?
Yandex
Объявления
23.05.2012, 01:21     Расположить элементы масива по схеме
Ответ Создать тему
Опции темы

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