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

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

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

массивы.не могу разобраться - C++

14.05.2010, 21:57. Просмотров 1062. Ответов 20
Метки нет (Все метки)

1. В массиве X из N элементов (N не больше 30) определить максимальный элемент и его номер. Число N и значения элементов массива задаются вводом.
2. В массиве A из N элементов поменять местами первый элемент с последним, второй - с предпоследним и т.д. Значение N задать при помощи ввода, а сам массив сформировать из случайных чисел в диапазоне от -100 до 100.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2010, 21:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос массивы.не могу разобраться (C++):

Указатели, массивы. Не могу разобраться - C++
Перелопатил весь инет, так не смог разобраться ((( Вот общее задание, ято бы было понятно: Объявить массив целых чисел и заполнить...

Массивы,разобраться бы Оо - C++
есть 2 задачи которые я не могу решить, помогите,пожалуйста...будьте добры...завтра сдавать( 1. Из массивов А(20) и С(20) образовать...

Динамические массивы -- помогите с ними разобраться! - C++
Нужно составить программу на Си++: Выбрать из массива неповторяющиеся элементы и сформировать из них динамический массив. Проблема (для...

Динамическиме массивы подскажите разобраться почему не работает - C++
#include "stdafx.h" #include<iostream> #include<iomanip> using namespace std ; int main() { char...

Одномерные динамические массивы. Хочу разобраться в коде - C++
Вот программа: int n; cout<<"Vvedite kol-vo elementov"; cin>>n; int i, ineg; float sum, *a=new float; cout<<"Vvedite...

Не могу разобраться в vector<> - C++
Доброго времени суток. Не могу понять реализацию вектора, да и вообще с векторами плохо знакома. Мне бы только показать, как ввести...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
***GIN***
28 / 28 / 1
Регистрация: 09.04.2010
Сообщений: 60
14.05.2010, 22:06 #2
Тебе бы почитать по больше, скажем начни с классики - Бьерн Страуструп, или еще лучше - Язык С (Керниган, Ричи). Там база, и очень хорошо изложена. То что ты спрашиваешь это основы, если ты в них сам не разберешься, то дальше будет еще тяжелее... В общем удачи!
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
14.05.2010, 22:13 #3
1)
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
#include <iostream>
#include <ctime>
#include <iomanip>
 
int main ()
{
    int size;
    std::cout << "Input size of matrix: ";
    std::cin >> size;
    int *MAS=new int [size];
 
    srand(time(NULL));
    std::cout << "Start matrix:\n";
    for (int i=0; i<size; i++) {
        MAS[i]=rand()%20+1;
        std::cout << std::setw(3) << MAS[i]; }
    std::cout << std::endl;
 
    int max=0, indexMax;
    for (int i=0; i<size; i++)
        if (max<MAS[i])
        {
            max=MAS[i];
            indexMax=i;
        }
 
    std::cout << "Index: " << indexMax << std::endl;
    std::cout << "Max: " << max << std::endl;
 
    system("pause");
    delete []MAS;
    return 0;
}
0
лендер
46 / 46 / 2
Регистрация: 12.01.2010
Сообщений: 183
14.05.2010, 22:13 #4
я бы не рекомендовал страуступа для начала(основ)
0
Sudoki
124 / 64 / 1
Регистрация: 19.04.2010
Сообщений: 196
14.05.2010, 22:14 #5
Цитата Сообщение от Blacktender Посмотреть сообщение
1. В массиве X из N элементов (N не больше 30) определить максимальный элемент и его номер. Число N и значения элементов массива задаются вводом.
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
#include <iostream.h>
#include <stdio.h>
using namespace std;
 
int main()
{
int i;
int N = 0;
int* Ar;
int max = 0, index_max = 0;
 
    while(N<=0){
        printf("Введите число элементов массива N = "); 
        cin>>N;
        cout<<endl;
    }
    try{
        Ar = (int*)malloc(sizeof(int)*N);
        for(i=0;i<N;i++){
            printf("A[%d] = ",i);
            cin>>Ar[i];
            cout<<endl;
            if(Ar[i]>max){
                max = Ar[i];
                index_max = i;
            }
        }
        printf("Элемент %d равен %d самый максимальный",index_max,max); 
    }
    __finally
    {
        free(Ar);
    }
}
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
14.05.2010, 22:15 #6
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
#include <iostream>
#include <ctime>
#include <iomanip>
 
int main ()
{
    int size;
    std::cout << "Input size of matrix: ";
    std::cin >> size;
    int *MAS=new int [size];
 
    srand(time(NULL));
    std::cout << "Start matrix:\n";
    for (int i=0; i<size; i++) {
        MAS[i]=rand()%20+1;
        std::cout << std::setw(3) << MAS[i]; }
    std::cout << std::endl;
 
    int tmp;
    for (int i=0, j=size-1; i<j; i++, j--) {
            tmp=MAS[i];
            MAS[i]=MAS[j];
            MAS[j]=tmp; }
 
 
    std::cout << "Finish matrix:\n";
    for (int i=0; i<size; i++)
        std::cout << std::setw(3) << MAS[i];
 
    std::cout << std::endl;
    system("pause");
    delete []MAS;
    return 0;
}
1
Sudoki
124 / 64 / 1
Регистрация: 19.04.2010
Сообщений: 196
14.05.2010, 22:18 #7
На работоспособность код не проверял писал в обычном блокноте.
Автору темы будет че подебагерить.
Это самая пратика.
0
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.05.2010, 22:35 #8
Цитата Сообщение от Blacktender Посмотреть сообщение
1. В массиве X из N элементов (N не больше 30) определить максимальный элемент и его номер. Число N и значения элементов массива задаются вводом.
Вариант с STL:
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
#include <iostream>
#include <algorithm>
#include <iterator>
 
int main()
{
  size_t size;
  std::cout << "size = ";
  std::cin >> size;
 
  int* arr = new int[size];
 
  for (size_t i = 0; i < size; ++i) {
    std::cout << "arr[" << i + 1 << "] = ";
    std::cin >> arr[i];
  }
 
  std::cout << "Array: " << std::endl;
  std::copy(arr, arr + size, std::ostream_iterator<int>(std::cout, " "));
  std::cout << std::endl;
 
  int* max_element = std::max_element(arr, arr + size);
  std::cout << "Max " << *max_element << " at index " << max_element - arr << std::endl;
 
  return 0;
}
2
Blacktender
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 21
14.05.2010, 22:39  [ТС] #9
Может у меня с компилятором что не так, каждый раз выдает ошибки. допустим вот эту : [Linker Error] Unresolved external '__ExitVCL' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl
0
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
14.05.2010, 22:42 #10
CyBOSSeR, а почему, для нахождение индекса, мы пишем
C++
1
max_element - arr
?
0
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.05.2010, 22:44 #11
Blacktender, есть два варианта:
1. Убить в себе и на компьютере Builder, тем более шестой.
2. Правильно создать проект - вам необходимо консольное приложение, а не оконное.
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
14.05.2010, 22:45 #12
neske, max_element - указатель на максимальный, arr на начало, их разность дает индекс
обычная практика узнать индекс элемента, если есть итератор на него и итератор начала
1
CyBOSSeR
Эксперт C++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.05.2010, 22:48 #13
Цитата Сообщение от neske Посмотреть сообщение
CyBOSSeR, а почему, для нахождение индекса, мы пишем
Этой строкой мы получаем разницу между указателями на максимальный элемент и начало массива. Это разница выражена в количестве элементов.
1
Sudoki
124 / 64 / 1
Регистрация: 19.04.2010
Сообщений: 196
14.05.2010, 22:54 #14
Зачем так глубоко человеку просто массивы нужны а Вы STL.
Давайте еще MFC CArray или VCL

Добавлено через 48 секунд
На обычном С кто нибуть напишет без примудростей. Я думаю этого и ждут.
0
CyBOSSeR
14.05.2010, 23:02     массивы.не могу разобраться
  #15

Не по теме:

Цитата Сообщение от Sudoki Посмотреть сообщение
Зачем так глубоко человеку просто массивы нужны а Вы STL.
Давайте еще MFC CArray или VCL
У нас на форуме один Blacktender что ли?
Или разнообразие вариантов решения это плохо?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2010, 23:02
Привет! Вот еще темы с ответами:

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

Не могу разобраться с программой - C++
Я поступил в Колледж Вычислительной Техники и у нас началось программированиею Сказали поставить Visual C++ 2010, я поставил и теперь не...

Указатель не могу разобраться - C++
Здравствуйте. есть строка к примеру tmp=int(TEMP.number2-48); а что значит tmp*=(int(TEMP.number1-48)); именно звездочка после...

Не могу разобраться с кодом - C++
Суть состоит в том чтобы составить программу, выводящую на экран расписание экзаменов и зачетов (предмет,вид...


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

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

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