2 / 2 / 0
Регистрация: 23.09.2013
Сообщений: 150
1

Из одномерного целочисленного массива вывести те элементы, КРАТНЫЕ ТРЁМ

23.09.2013, 09:49. Показов 3005. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток.
Помогите пож-ста сделать программу для с++ билдер.
Условие.
Из одномерного целочисленного массива вывести те элементы, кратные трём.
Реализовать обработку массива с использованием функций. Далее реализовать перегрузку функций для массивов целого, вещественного, символьного типа.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2013, 09:49
Ответы с готовыми решениями:

Все положительные элементы одномерного массива, кратные трем заменить на число 1
Все положительные элементы одномерного массива, кратные трем заменить на число 1. Обнулить все...

Вывести на печать элементы массива, кратные трем
КТО ЧЕМ МОЖЕТ ПОМОГИТЕ!!!!!(нужно срочно) #47. Вычислить значения функции z=x√(x*y), ...

Определить и вывести на экран элементы массива, кратные трем, и их порядковые номера
Задан целочисленный массив Х из 20 элементов. Определить и вывести на экран элементы, кратные трем...

Вывести элементы одномерного целочисленного массива в обратном порядке
Нужна срочно помощь в решении задачи: Вывести элементы одномерного целочисленного массива в...

18
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
23.09.2013, 12:34 2
Цитата Сообщение от Zumuist Посмотреть сообщение
Из одномерного целочисленного массива вывести те элементы, кратные трём.
Ну, так, к примеру__
C++
1
2
3
4
5
6
7
8
9
10
11
bool kratno3(int T)
{
   return (T % 3 == 0);
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
    const mSize=10;
    int myArray[mSize] = { 12,6,25,78,50,44,30,62,78,93 };
    for (int i=0;i<mSize;i++)
      if (kratno3(myArray[i])) MEMO->Lines->Add(IntToStr(myArray[i]));
}
1
2 / 2 / 0
Регистрация: 23.09.2013
Сообщений: 150
23.09.2013, 13:19  [ТС] 3
А в консоли есть?
0
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
23.09.2013, 14:17 4
Цитата Сообщение от Zumuist Посмотреть сообщение
А в консоли есть?
А в чем трудности?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//---------------------------------------------------------------------------
#include <iostream.h>
//#include <windows.h>
//---------------------------------------------------------------------------
#pragma argsused
bool kratno3(int T)
{
   return (T % 3 == 0);
}
//---------------------------------------------------------------------------
int main()   //  int argc, char* argv[]
{
   const mSize=10; int p=-1;
   int myArray[mSize] = { 12,6,25,78,50,44,30,62,78,93 };
   while(++p < mSize) if(kratno3(myArray[p])) cout<<myArray[p]<<" " ;
 return 0;
}
//---------------------------------------------------------------------------
1
2 / 2 / 0
Регистрация: 23.09.2013
Сообщений: 150
23.09.2013, 15:00  [ТС] 5
А зачем директива <windows.h>, что она делает. Просто первый раз вижу.
0
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
23.09.2013, 15:26 6
Это не директива и ничего она не делает; просто удали эту строку (// - это признак комментария. Вообще, это нужно знать, даже на начальном уровне...).
1
2 / 2 / 0
Регистрация: 23.09.2013
Сообщений: 150
23.09.2013, 15:46  [ТС] 7
Директивы типа:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h> такие знаю. а <windows.h> первый раз увидел.
0
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
23.09.2013, 15:51 8
.. она не мешает. Просто, когда много таких включено (в чужих прогах), то по очереди комментируя эти включения и компилируя, я таким образом определяю лишние. Вот и эта запись осталась случайно.
1
2 / 2 / 0
Регистрация: 23.09.2013
Сообщений: 150
23.09.2013, 15:52  [ТС] 9
А перегрузку функции этой программы реально произвести?
"реализовать перегрузку функций для массивов целого, вещественного, символьного типа"

Я саму то программу в принципе знак как делать, но у меня ошибка в коде вылазила, теперь и понял в чём косык. А перегрузку вообще не догоняю как.
Преподаватель сказал, что без перегрузки не зачтёт, лабораторную, т.к. ЛР называется "Процедуры и функции. Перегрузка функции".
0
Практикантроп
4824 / 2717 / 525
Регистрация: 23.09.2011
Сообщений: 5,777
23.09.2013, 15:55 10
.. у меня, вроде, с русским языком - лады, но про "перегрузку" функций мне тоже нужно популярно разъяснять.
0
2 / 2 / 0
Регистрация: 23.09.2013
Сообщений: 150
24.09.2013, 11:22  [ТС] 11
Цитата Сообщение от nick42 Посмотреть сообщение
.. она не мешает. Просто, когда много таких включено (в чужих прогах), то по очереди комментируя эти включения и компилируя, я таким образом определяю лишние. Вот и эта запись осталась случайно.
буду знать.

Добавлено через 19 часов 25 минут
Я извиняюсь, но это не то.
Нужно:
Из одномерного целочисленного массива вывести те элементы, которые являются степенями тройки.

Добавлено через 26 секунд
Я извиняюсь, но это не то.
Нужно:
Из одномерного целочисленного массива вывести те элементы, которые являются степенями тройки.

Добавлено через 1 минуту
Я извиняюсь, но это не то.
Нужно:
Из одномерного целочисленного массива вывести те элементы, которые являются степенями тройки.
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
24.09.2013, 11:51 12
C++
1
2
3
4
5
6
7
8
9
10
bool powerof3(int T)
{
    float x=T;
    if(x==1) return false;
   while(x>2)
   {
       x /= 3;
   }
   return x==1;
}
Функция проверяет, является ли число степенью тройки.

Перегрузка функции - когда есть несколько функций с одинаковым названием, но различными принимаемыми аргументами, с которыми она может работать по разному. Что-то мне сразу в голову не пришло, что тут можно перегрузить. Может придумает кто.

Добавлено через 15 минут
Хотя теперь придумал, можно сделать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
bool powerof(int T)
{
    float x=T;
    if(x==1) return false;
   while(x>2)
   {
       x /= 3;
   }
   return x==1;
}
bool powerof(int T, int N)
{
    float x=T;
    if(x==1) return false;
   while(x>N-1)
   {
       x /= N;
   }
   return x==1;
}
Если функции передавать 1 аргумент, то она будет проверять степень 3ки, а если 2 аргумента, то степень N.
1
2 / 2 / 0
Регистрация: 23.09.2013
Сообщений: 150
24.09.2013, 14:04  [ТС] 13
Вылазит ошибка.
C++
1
[Linker Fatal Error] Fatal: Could not open C:\Program Files (x86)\Borland\CBuilder6\Projects\Project2.exe (error code 5)
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
24.09.2013, 14:44 14
Ну это уже ошибка линкера, а не кода. Где-то вы там намудрили в самом проекте. Возможно проблема с правами доступа.
0
2 / 2 / 0
Регистрация: 23.09.2013
Сообщений: 150
24.09.2013, 14:45  [ТС] 15
Данный код, это весь код??
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
24.09.2013, 15:37 16
Цитата Сообщение от Zumuist Посмотреть сообщение
Данный код, это весь код??
Нет конечно. Это всего 2 функции, которые надо вставить в код с 1ой страницы.
0
2 / 2 / 0
Регистрация: 23.09.2013
Сообщений: 150
24.09.2013, 15:54  [ТС] 17
Ну я понял. А можешь скомпоновать? А то я соединял оба кода что-то всё не получается. Хотя странно, ЧЕМУ там не получаться.
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
24.09.2013, 16:08 18
Цитата Сообщение от Zumuist Посмотреть сообщение
Ну я понял. А можешь скомпоновать? А то я соединял оба кода что-то всё не получается. Хотя странно, ЧЕМУ там не получаться.
Мне тоже странно.

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
#include <iostream>
 
bool kratno3(int T)
{
   return (T % 3 == 0);
}
 
bool powerof(int T)
{
    float x=T;
    if(x==1) return false;
   while(x>2)
   {
       x /= 3;
   }
   return x==1;
}
 
bool powerof(int T, int N)
{
    float x=T;
    if(x==1) return false;
   while(x>N-1)
   {
       x /= N;
   }
   return x==1;
}
 
int main()   //  int argc, char* argv[]
{
   const mSize=10; int p=-1;
   int myArray[mSize] = { 5,9,17,27,81,16,83,28,48,25 };
   std::cout<<"Kratno 3m: ";
   while(++p < mSize)
        if(kratno3(myArray[p]))
            std::cout<<myArray[p]<<" ";
    std::cout << std::endl;
    p=-1;
    std::cout<<"Stepen 3ki: ";
    while(++p < mSize)
        if(powerof(myArray[p]))
            std::cout<<myArray[p]<<" ";
    std::cout << std::endl;
    p=-1;
    std::cout<<"Stepen 5ki: ";
    while(++p < mSize)
        if(powerof(myArray[p], 5))
            std::cout<<myArray[p]<<" ";
    std::cout << std::endl;
    //system("pause");
    return 0;
}
1
2 / 2 / 0
Регистрация: 23.09.2013
Сообщений: 150
24.09.2013, 16:47  [ТС] 19
Оказывается у меня так же было код написан.
и все равно показывало ошибку.

Создал три проекта. Третий проект встал без ошибок.


Огромное тебе спасибо.
0
24.09.2013, 16:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2013, 16:47
Помогаю со студенческими работами здесь

Вывести на печать элементы матриц, кратные трем.
помогите пожалуйста..... Вывести на печать элементы целочисленных матриц N(5,8) и M(10,6),...

Из массива удалить элементы, кратные трем
Помогите с этим заданием, пожалуйста, я в программировании ПООООЛНЫЙ НОООЛЬ, а завтра сдавать:wall:...

Циклы: вывести только элементы последовательности, кратные трем
Напишите программу, которая запрашивает число n, а далее последовательность из n чисел, и выводит...

Массивы. Найдите элементы целочисленного массива, кратные а и некратный b.
Заданы два простых числа a и b. Найдите элементы целочисленного массива, кратные а и некратный b....


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru