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

Массив Microsoft Visual C++ 2008 - C++

Восстановить пароль Регистрация
 
diverium
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 6
10.01.2011, 22:11     Массив Microsoft Visual C++ 2008 #1
Microsoft Visual C++ 2008

Срочно нужно,помогите.Заранее спасибо.

1)Даны Х1,Х2,...,Х8
Определить N-количество Х ,с чётными номерами,меньшими Х1 и Хmax/2

2)Сформировать и вывести массив,состоящий из номеров столбцов,в котором второй элемент меньше первого.Вычислите средние арифмитические в этих столбцах и заменить элементы этих столбцов соответствующими значениями средних арифметических.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
10.01.2011, 23:24     Массив Microsoft Visual C++ 2008 #2
1)Даны Х1,Х2,...,Х8
Определить N-количество Х ,с чётными номерами,меньшими Х1 и Хmax/2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <algorithm>
int main()
{
 int arr[8];
 int k=0;
 for(int i=0;i<8;i++) std::cin>>arr[i];
 xmax=*(std::max_element(arr,arr+8))/2;
 for(int i=1;i<8;i+=2) if(arr[i] > arr[1] && arr[i] < xmax) k++;
 std::cout << "Число искомых элементов: " << k 
                << std::endl;
 return 0;
}
diverium
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 6
11.01.2011, 00:03  [ТС]     Массив Microsoft Visual C++ 2008 #3
спасибо большое.
и ещё с массивом помогите пожалуйста
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
11.01.2011, 00:08     Массив Microsoft Visual C++ 2008 #4
Цитата Сообщение от diverium Посмотреть сообщение
спасибо большое.
для этого есть спец.кнопочка
diverium
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 6
11.01.2011, 00:09  [ТС]     Массив Microsoft Visual C++ 2008 #5
окей,с массивой помоги пожалуйста
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
11.01.2011, 00:46     Массив Microsoft Visual C++ 2008 #6
если я правильно понял задание, то как-то вот так:
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
#include <iostream>
#define N 2
 
int main()
{
  int arr[N],matrix[2][N],k=0;
  std::cout << "Введите массив " << N << "x" << N << ":\n";
  for(int i=0;i<2;i++)
    for(int j=0;j<N;j++)std::cin >> matrix[i][j];
  for(int i=0;i<N;i++) 
    if(matrix[0][i]<matrix[1][i]) 
      {
    arr[k]=i;
    k++;
      }
  for(int i=0;i<k;i++)
    {
      matrix[1][arr[i]]=(matrix[0][i]+matrix[1][i])/2;
      matrix[0][arr[i]]=matrix[1][arr[i]];
    }
  for(int i=0;i<2;i++) 
    {
      for(int j=0;j<N;j++) std::cout << matrix[i][j] << " ";
      std::cout << std::endl;
    }  
  return 0;
}
Добавлено через 18 минут
там очепятка в 18ой строке, вот так правильнее.
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
#include <iostream>
#define N 2
 
int main()
{
  int arr[N],matrix[2][N],k=0;
  std::cout << "Введите массив " << N << "x" << N << ":\n";
  for(int i=0;i<2;i++)
    for(int j=0;j<N;j++)std::cin >> matrix[i][j];
  for(int i=0;i<N;i++) 
    if(matrix[0][i]<matrix[1][i]) 
      {
    arr[k]=i;
    k++;
      }
  for(int i=0;i<k;i++)
    {
      matrix[1][arr[i]]=(matrix[0][arr[i]]+matrix[1][arr[i]])/2;
      matrix[0][arr[i]]=matrix[1][arr[i]];
    }
  for(int i=0;i<2;i++) 
    {
      for(int j=0;j<N;j++) 
    std::cout << matrix[i][j] << " ";
      std::cout << std::endl;
    }
  return 0;
}
diverium
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 6
11.01.2011, 01:03  [ТС]     Массив Microsoft Visual C++ 2008 #7
а почему,когда уже появилось чёрное окно и написано ввдите массив 2х2,когда я ввожу массив и нажимаю enter,окно сразу закрывается?
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
11.01.2011, 01:56     Массив Microsoft Visual C++ 2008 #8
потомучто у вас винда, а она закрывает завершившиеся программы. Вот так окно будет держаться.
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
#include <iostream>
#define N 2
 
int main()
{
  int arr[N],matrix[2][N],k=0;
  std::cout << "Введите массив " << N << "x" << N << ":\n";
  for(int i=0;i<2;i++)
    for(int j=0;j<N;j++)std::cin >> matrix[i][j];
  for(int i=0;i<N;i++) 
    if(matrix[0][i]<matrix[1][i]) 
      {
        arr[k]=i;
        k++;
      }
  for(int i=0;i<k;i++)
    {
      matrix[1][arr[i]]=(matrix[0][arr[i]]+matrix[1][arr[i]])/2;
      matrix[0][arr[i]]=matrix[1][arr[i]];
    }
  for(int i=0;i<2;i++) 
    {
      for(int j=0;j<N;j++) 
        std::cout << matrix[i][j] << " ";
      std::cout << std::endl;
    }
  std::cin.get();
  std::cin.get();
  return 0;
}
Добавлено через 45 секунд
в первой программе по аналогии добавьте в конце
C++
1
2
  std::cin.get();
  std::cin.get();
чтобы не закрывалось
diverium
0 / 0 / 0
Регистрация: 10.01.2011
Сообщений: 6
11.01.2011, 02:03  [ТС]     Массив Microsoft Visual C++ 2008 #9
Супер!
и последний вопрос...
В первом задании выводит ошибку
.cpp(16) : error C2065: xmax: необъявленный идентификатор
.cpp(17) : error C2065: xmax: необъявленный идентификатор
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
11.01.2011, 06:01     Массив Microsoft Visual C++ 2008 #10
diverium, это потому, что переменные нужно объявлять перед их использованием
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2011, 12:11     Массив Microsoft Visual C++ 2008
Еще ссылки по теме:

C++ Microsoft Visual Studio 2008 находит ошибку...
Проблемы при создании и построении проекта Microsoft Visual Studio 2008 Ошибки! C++
C++ Shell_NotifyIcon AND Microsoft Visual Studio 2008

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

Или воспользуйтесь поиском по форуму:
vx5
 Аватар для vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
11.01.2011, 12:11     Массив Microsoft Visual C++ 2008 #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <algorithm>
int main()
{
 int arr[8],xmax=0;
 int k=0;
 for(int i=0;i<8;i++) std::cin>>arr[i];
 xmax=*(std::max_element(arr,arr+8))/2;
 for(int i=1;i<8;i+=2) if(arr[i] > arr[1] && arr[i] < xmax) k++;
 std::cout << "Число искомых элементов: " << k 
                << std::endl;
 return 0;
}
Yandex
Объявления
11.01.2011, 12:11     Массив Microsoft Visual C++ 2008
Ответ Создать тему
Опции темы

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