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

Написать программу на Borland C++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
PriZrak26
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 7
31.05.2011, 15:04     Написать программу на Borland C++ #1
Даны два целочисленных массива K(m) и L(n). Найти Наибольший элемент массива K, не имеющий себе равных в массиве L

Помогите пожалуйста написать, я создаю 2 массива, вывожу максимальный элемент К(m) а дальше не могу, нужно написать через функцию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grrrrr
 Аватар для grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
31.05.2011, 16:18     Написать программу на Borland C++ #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
53
54
55
#include <cstdlib>
#include <iostream>
 
void sort(int *mas, int s);
int result(int *a, int *b, int s);
    
int main(int argc, char *argv[])
{ 
    const int size = 10;
    int arr[size]  = {2,4,23,1,76,2,4,6,1,9};
    int arr2[size] = {6,3,1,0,13,76,7,11,4,2}; 
        
    sort(arr, size);
    
    int n = result(arr, arr2, size);
    
    std::cout << "Naibolshee chislo :  " << n << "\n";   
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
void sort(int *mas, int s)
{
    int min_i, i,j;
    int tmp=0;
     for (i=0; i<s-1; i++)
     {
        min_i=i;       
        for (j=i+1; j<s; j++)
        {
           if (mas[j] < mas[min_i])          
              min_i=j;           
        }
        tmp=mas[i];
        mas[i] = mas[min_i];         
        mas[min_i] = tmp;
     }   
}
int result(int *a, int *b, int s)
{    
    int k;    
    for(int i=s-1; i>s; i--) //здесь - ошибка, подожди, сейчас исправлю
    {
        k=1;
        for(int j=0; j<s; j++)
        {
            if(a[i] == b[j]) 
            {
                k=0;
                continue;                
            }
            if(k) return a[i];            
        }
    }
}
Добавлено через 23 минуты
исправленная функция

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int result(int *a, int *b, int s)
{    
    int k;    
    for(int i=s-1; i>=0; i--)
    {
        k=1;
        for(int j=0; j<s; j++)
        {
            if(a[i] == b[j]) 
            {
                k=0;
                continue;                
            }                                   
        }
        if(k) return a[i];            
    }
}
PriZrak26
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 7
31.05.2011, 16:33  [ТС]     Написать программу на Borland C++ #3
Блин я щас не могу проверить, но мне нужно чтоб массивы выводил с помощью randomize и функция с типом bool, и чтоб программа немного проще и понятней была для новичка, я всего лишь 2 курс техникума заканчиваю, если не трудно сможешь та сделать????
grrrrr
 Аватар для grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
31.05.2011, 16:50     Написать программу на Borland C++ #4
вот с рандомное заполнение массивов:
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
void sort(int *mas, int s);
int result(int *a, int *b, int s);
    
int main(int argc, char *argv[])
{ 
    const int size = 10;
    //int arr[size]  = {2,4,23,1,76,2,4,6,1,9};
    //int arr2[size] = {6,3,1,0,13,76,7,11,4,2};  
    
    int arr[size];
    int arr2[size];  
    
    for(int i=0; i<size; i++) arr[i] = rand()%50+1;
    for(int i=0; i<size; i++) arr2[i] = rand()%50+1;            
    cout << "massiv 1 :\n";
    for(int i=0; i<size; i++) std::cout << arr[i] << " ";
    cout << "\n";
    cout << "massiv 2 :\n";
    for(int i=0; i<size; i++) cout << arr2[i] << " ";            
    
    sort(arr, size);
    cout << "\n\n";
    int n = result(arr, arr2, size);
    
    cout << "Naibolshee chislo :  " << n << "\n";   
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
void sort(int *mas, int s)
{
    int min_i, i,j;
    int tmp=0;
     for (i=0; i<s-1; i++)
     {
        min_i=i;       
        for (j=i+1; j<s; j++)
        {
           if (mas[j] < mas[min_i])          
              min_i=j;           
        }
        tmp=mas[i];
        mas[i] = mas[min_i];         
        mas[min_i] = tmp;
     }   
}
int result(int *a, int *b, int s)
{    
    int k;    
    for(int i=s-1; i>=0; i--)
    {
        k=1;
        for(int j=0; j<s; j++)
        {
            if(a[i] == b[j]) 
            {
                k=0;
                continue;                
            }                                   
        }
        if(k) return a[i];            
    }
}
функция типа bool - это как? проверка истинности на что?
PriZrak26
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 7
31.05.2011, 17:02  [ТС]     Написать программу на Borland C++ #5
То есть принцип работы программы должен быть такой: создаются массивы, K(m) и L(n), потом находим максимальное значение массива К, дальше мы должны это максимальное значение сравнить с каждым элементом массива L и если какой нибудь элемент массива L равен максимальному значению массива К, мы берем другой элемент массива К (меньше максимального) и опять сравниваем со всеми значениями массива L, например:

K(m) : 6 8 3 6 1 9

L(n) : 1 0 5 8 3 9

максимальный элемент массива К будет 9, сравниваем 9 с каждым элементом массива L, в массиве L тоже есть 9, значит берем число 8 из массива К, сравниваем, 8 есть в массиве L, значит берем 6 из массива К, сравниваем, цифры 6 нету в массиве L значит 6 и будет ответ

если сделать так:

K(m) : 6 8 3 6 1 9

L(n) : 1 0 5 8 3 0

то ответ будет 9, т.к в массиве L нет этой цифры
grrrrr
 Аватар для grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
31.05.2011, 17:11     Написать программу на Borland C++ #6
моя программа работает именно по такому принципу только для упрощения я сортирую сначала массив 1 (функция sort), далее беру максимальный элемент массива 1 и сравниваю с элементами массива 2, если таковых нет значит это и есть наибольшее число.
PriZrak26
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 7
31.05.2011, 17:15  [ТС]     Написать программу на Borland C++ #7
ну так мне нужно совсем в простой форме, если не сложно, просто тут все как то усложнено
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2011, 17:22     Написать программу на Borland C++
Еще ссылки по теме:

Доделайте программу Исходник есть. Borland c++ (DOS) C++
C++ Как переделать программу из Borland C в С++?
C++ перевести программу из паскаля в с++(для среды Borland C++)

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

Или воспользуйтесь поиском по форуму:
grrrrr
 Аватар для grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
31.05.2011, 17:22     Написать программу на Borland C++ #8
если что не понятно по коду - спрашивай, а проще сделать я не знаю как.
Yandex
Объявления
31.05.2011, 17:22     Написать программу на Borland C++
Ответ Создать тему
Опции темы

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