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

Задачи , построенные с использованием функций С++ - C++

Восстановить пароль Регистрация
 
_Firestarter_
0 / 0 / 0
Регистрация: 09.02.2014
Сообщений: 6
09.02.2014, 17:55     Задачи , построенные с использованием функций С++ #1
Доброго времени суток форумчане ! "Подтолкните" в решении следующих задач , я забуксовал

1. Реализовать функцию, которая принимает массив (плюс его длину) , а также число n , и возвращает индекс числа в массиве или -1 , если такого числа нет.
Структура : int Search (int a [], const int n, const int key);

2. Реализовать функцию, которая принимает массив и выводит на экран те элементы , значение которых являются простыми числами.
Структура (IsPrimeNumber) , следовательно я думаю что функция должна выглядеть примерно так:
primeNumbersInArray (int a[] , const int);

3. Реализовать функцию сортировки массива любым алгоритмом :
void sortArray (int a[],const int n);

4 Реализовать функцию, которая принимает массив и возвращает индекс его максимального элемента

5 . Аналогично с минимальным элементом.


Р.S. Изучаю С++ не продолжительное время , объяснить решение первых двух задач , остальные похожие думаю я справлюсь , спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
09.02.2014, 18:03     Задачи , построенные с использованием функций С++ #2
Первая ф-ция:
C++
1
2
3
4
5
6
7
int Search (int a [], const int n, const int key)
{
    for (unsigned i = 0; i < n; ++i)
        if ( a[i] == key )
            return i;
    return -1;
}
Вторая:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool isSimple(int n)
{
    for(int i = 2; i <= n / 2; i++) 
        if( !(n % i) )
            return 0;
    return 1;
}
 
void primeNumbersInArray (int a[] , const int n)
{
    for (unsigned i = 0; i < n; ++i)
        if ( isSimple(a[i]) )
            cout << a[i] << "\n";
}
_Firestarter_
0 / 0 / 0
Регистрация: 09.02.2014
Сообщений: 6
09.02.2014, 18:14  [ТС]     Задачи , построенные с использованием функций С++ #3
Спасибо , а можно полностью код , для наглядного примера.
Pikemaster
104 / 104 / 31
Регистрация: 24.09.2013
Сообщений: 297
Завершенные тесты: 1
09.02.2014, 18:16     Задачи , построенные с использованием функций С++ #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
#include <iostream>
#define N 10    // Размер массива
 
using namespace std;
 
int MaxElementIndex(int[]);
 
int main()
 {
    int mas[N];
 
    for(int i=0; i<N; i++)     // Ввод значений массива автоматический. 
        mas[i] = i;      // Если надо, то измените на ручной.
 
    cout << MaxElementIndex(mas);
 
    system("pause");
    return 0;
 }
 
int MaxElementIndex(int mas[])
{
    int max_index;
    for(int i=0; i<N; i++)
    {
        if(i>0 && mas[i-1]<mas[i])
            max_index = i;
        if(i>0 && mas[i-1]>mas[i])
            max_index = i-1;
    }
    return max_index;
}
_Firestarter_
0 / 0 / 0
Регистрация: 09.02.2014
Сообщений: 6
09.02.2014, 18:22  [ТС]     Задачи , построенные с использованием функций С++ #5
Ребят , спасибо , но мне бы с первой и второй для начала разобраться , постараюсь объяснить , что я написал , возможно будет звучать не корректно , прошу прощения

C++
1
2
3
4
5
6
#include <iostream>
#include <Windows.h>
using namespace std;
int Search(int a[],const int n,const int key)
{
    void main ()
Как мне засунуть массив в функцию ? Если можно дайте полный код 1 и 2 задач.
C++
1
2
3
4
5
6
7
int i;
 
  for ( i = 0; i < n; i++)
        if ( a[i] == key )
            return i;
    return -1;
}
Pikemaster
104 / 104 / 31
Регистрация: 24.09.2013
Сообщений: 297
Завершенные тесты: 1
09.02.2014, 18:27     Задачи , построенные с использованием функций С++ #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
28
29
#include <iostream>
#define N 10
using namespace std;
 
int MaxElementIndex(int[]);
 
int main()
 {
    int mas[N];
 
    for(int i=0; i<N; i++)
        mas[i] = i;
 
    cout << MaxElementIndex(mas);
 
    system("pause");
    return 0;
 }
 
int MaxElementIndex(int mas[])
{
    int max_index = 0;
    
    for(int i=0; i<N; i++)
        if(i>0 && mas[max_index]<mas[i])
            max_index = i;
 
    return max_index;
}
Пятая:
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
#include <iostream>
#define N 10
using namespace std;
 
int MinElementIndex(int[]);
 
int main()
 {
    int mas[N];
 
    for(int i=0; i<N; i++)
        mas[i] = i;
 
    cout << MinElementIndex(mas);
 
    system("pause");
    return 0;
 }
 
int MinElementIndex(int mas[])
{
    int min_index = 0;
    
    for(int i=0; i<N; i++)
        if(i>0 && mas[min_index]>mas[i])
            min_index = i;
 
    return min_index;
}
_Firestarter_
0 / 0 / 0
Регистрация: 09.02.2014
Сообщений: 6
09.02.2014, 18:29  [ТС]     Задачи , построенные с использованием функций С++ #7
Pikemaster,
Спасибо , подскажи пожалуйста решение 1 и второй я функции учу пару дней только , индекс числа в массиве , вернуть не могу через функцию... Я понимаю там счетчик for должен быть if else , и return -1 а вот как записать в программу никак не пойму.
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 246
09.02.2014, 18:31     Задачи , построенные с использованием функций С++ #8
_Firestarter_,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<conio.h>
#include<iostream>
using namespace std;
 
int Search(int a[], const int n, const int key)
{
    for (unsigned i = 0; i < n; ++i)
    if (a[i] == key)
        return i;
    return -1;
}
 
int main(){
    setlocale(LC_ALL, "Russian");
    int Mass[10] = {0,1,2,3,4,5,6,7,8,9};
    int key = 4;
    cout << Search(Mass, 10, key);
    cout << "\n\nДля выхода нажмите любую клавишу...";
    _getch();
    return 0;
}
Пример для первой
Pikemaster
104 / 104 / 31
Регистрация: 24.09.2013
Сообщений: 297
Завершенные тесты: 1
09.02.2014, 18:32     Задачи , построенные с использованием функций С++ #9
Если с тем кодом, который приводил vovacreme, то выглядит как-то так весь код:
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 10
using namespace std;
 
int Search (int a [], const int n, const int key)
{
    for (unsigned i = 0; i < n; ++i)
        if ( a[i] == key )
            return i;
    return -1;
}
 
int main()
 {
    int n;
    int mas[N];
 
    cin >> n;
 
    for(int i=0; i<N; i++)
        mas[i] = i;
 
    cout << Search(mas, N, n);
 
    system("pause");
    return 0;
 }
_Firestarter_
0 / 0 / 0
Регистрация: 09.02.2014
Сообщений: 6
09.02.2014, 18:42  [ТС]     Задачи , построенные с использованием функций С++ #10
Цитата Сообщение от Xopecc Посмотреть сообщение
_Firestarter_,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<conio.h>
#include<iostream>
using namespace std;
 
int Search(int a[], const int n, const int key)
{
    for (unsigned i = 0; i < n; ++i)
    if (a[i] == key)
        return i;
    return -1;
}
 
int main(){
    setlocale(LC_ALL, "Russian");
    int Mass[10] = {0,1,2,3,4,5,6,7,8,9};
    int key = 4;
    cout << Search(Mass, 10, key);
    cout << "\n\nДля выхода нажмите любую клавишу...";
    _getch();
    return 0;
}
Пример для первой
Я такого еще не учил , например usigned i в счетчике , можно как то проще с объявлением переменных?

Добавлено через 6 минут
Цитата Сообщение от _Firestarter_ Посмотреть сообщение
Я такого еще не учил , например usigned i в счетчике , можно как то проще с объявлением переменных?
Построение кода должно примерно как в этой задаче :
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 <iostream>
using namespace std;
double sqr(double value);
double cube(double x);
double sum(double a, double b);
int fmax(int a, int b);
int fmax2(int a, int b);
int fmax3(int a, int b);
void main()
{
    /*double result = sqr(5.22);
    cout << result << endl;
    cout << sqr(3.33) << endl;
 
    cout << cube(4.1) << endl;
 
    cout << sum(sqr(3.33), cube(4.1)) << endl;*/
 
    cout << fmax3(55, 33) << endl;
}
int fmax(int a, int b)
{
    if (a > b)
    {
        return a;
    }
    else
    {
        return b;
    }
}
int fmax2(int a, int b)
{
    if (a > b)
    {
        return a;
    }
    return b;
}
int fmax3(int a, int b)
{
    return a > b ? a : b;
}
double sqr(double value)
{
    return value * value;
}
double cube(double x)
{
    return x * x * x;
}
double sum(double a, double b)
{
    return a + b;
}
Дело в том , что я на паре не понял , как же с помощью функции из массива вернуть индекс числа которое помимо массива принимается функцией ...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2014, 00:02     Задачи , построенные с использованием функций С++
Еще ссылки по теме:

Программа с использованием функций C++
Нужны задачи с использованием функций C++
Программирование с использованием функций C++

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

Или воспользуйтесь поиском по форуму:
Ev[G]eN
10.02.2014, 00:02     Задачи , построенные с использованием функций С++
  #11
 Комментарий модератора 
_Firestarter_, на будущее, ознакомьтесь с Правилами нашего Форума. Вы нарушили пункт №5.16: "Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема."
Данная тема не будет закрыта потому, что в ней есть немалое количество ответов, но на будущее - имейте ввиду.
Yandex
Объявления
10.02.2014, 00:02     Задачи , построенные с использованием функций С++
Ответ Создать тему
Опции темы

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