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

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

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

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

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

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

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

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

Элементы масива - C++
#include<stdio.h> #include<conio.h> #include<stdlib.h> int main() { int a; int i,j,n,m; do { printf("Vvedite n,...

Расположить элементы матрицы так, чтобы на побочной диагонали были бы максимальные элементы строк - C++
Доброго времени суток. помогите пожалуйста с задачей последняя осталась) Расположить элементы матрицы M, так чтобы на побочной диагонали...

Найти разные элементы масива - C++
Здравствуйте, есть задача дана целочисленная последовательность (одномерный массив целых чисел). Написать программу нахождения количества...

Как удалить элементы из масива? - C++
Здраствуйте, я новичок, не судите строго:) Вообщем с клавиатуры вводиться сообщение (Например, I_am_prodddgger), программа в свою очередь...

Заполнение масива по формуле и нахождение наименьшего положительного элемента масива - C++
Итак условие задачи: Написать программу для заполнения масива з 20 элементов по формуле a_i=\left(-1 \right)^i\,\frac{i^2}{i-1} и...

Отсортировать только положительные элементы масива по росту - C++
Как єто сделать?

Составить программу размещающая элементы масива в возврастающем порядке. - C++
Дан масив А(1..n) в котором каждый элемент равен 0, 1 или 2.Составить программу размещающая элементы масива в возврастающем порядке..

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UFO94
264 / 253 / 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
264 / 253 / 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
264 / 253 / 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
264 / 253 / 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
264 / 253 / 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     Расположить элементы масива по схеме
Еще ссылки по теме:

Дан массив A[1.50], элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем - все о - C++
Дан массив A, элементы которого отличны от нуля. Расположить их в таком порядке, чтобы первыми были все положительные элементы, а затем -...

Переставить местами элементы массива по заданной схеме - C++
2.Дан массив из 18 вещественных чисел. Преобразовать его следующим образом: а1,а18,а2,а17,а3,а16,а4,а15...

Расположить элементы массива в порядке возрастания - C++
Дан массив a. Расположить его элементы в порядке возрастания. Использовать сортировку методом выбора. Количество и значения элементов...

Расположить элементы в новом массиве в заданном порядке - C++
Даны действительные числа a1...a20. получить новый массив, в котором числа нового массива следуют в данном порядке: a20,...

Массив: расположить по возрастанию элементы второй строки. - C++
Матрица 3 на 3, расположить по возрастанию элементы второй строки.


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

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

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