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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
agen13
4 / 3 / 1
Регистрация: 02.10.2008
Сообщений: 5
#1

Найти числа из массива кратных 3 - C++

30.10.2008, 19:15. Просмотров 4143. Ответов 11
Метки нет (Все метки)

Я написал прогу "найти числа из массива кратных 3"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h><math.h>
main()
{
int a[10],i,s;
printf("\n 3adaite 4isla: \n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++){
if(a[i]%3==0)
s++;
}
printf("\n kolvo chisel kratnblh 3 v dannom massive,%d chisel",s);
}
Но училке стало мало и она просит переделать в функцию
Вот попробовал чето накропать, но ответа недает =(
Помогите найти ошибки:'(

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h><math.h>
main()
{
int s,x,i,math(int),a[10];
printf("\n 3adaite 4isla: \n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
s=math(x);
printf("\n kolvo chisel kratnblh 3 v dannom massive,%d chisel",s);
int getch()
}
math(int)
{
int a[10],i,x;
for(i=0;i<10;i++)
if(a[i]%3==0)
x++;
return x;
}
Зарание СПС
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2008, 19:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти числа из массива кратных 3 (C++):

Вывести на экран целые числа от 1 до 20 за исключением чисел, кратных 3, но не кратных 5 - C++
Написать программу, выводящую на экран целые числа от 1 до 20 за исключением чисел, кратных 3, но не кратных 5.Через циклы

Найти произведение элементов массива кратных 3 - C++
Помогите разобраться в написании программы. Задание и код программы предоставил. 1. точноли я правильно ее составил? 2. произведение...

Найти произведение элементов массива кратных 3-м - C++
Дан динамический массив. Элементы массива вводятся с клавиатуры. Найти произведение элементов массива кратных 3-м.

Вычислить произведение трёх элементов массива, кратных 3-ем и не кратных 2-ум - C++
HELP!! Господа программеры. В программировании вобще 0. Нужно вычислить произведение трёх элементов массива А, что кратны 3 и не кратны...

Найти количество и сумму элементов массива, кратных 7 - C++
Дана последовательность, состоящая из N чисел. Найти и вывести полученные результаты: 1. количество и сумму элементов, кратных 7; ...

Найти сумму всех элементов массива, кратных 4 - C++
Пожалуйста, решите задачку, заранее благодарю! Найти сумму всех элементов массива, кратных 4. При составлении программы для...

11
Lord_Voodoo
Супер-модератор
8594 / 2209 / 61
Регистрация: 07.03.2007
Сообщений: 10,967
Завершенные тесты: 1
30.10.2008, 19:18 #2
пардон, а что у тебя функция возвращает? math(int)... да и неплохо было бы массив передавать в качестве параметра
0
XuTPbIu_MuHTAu
Эксперт С++
2226 / 741 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
30.10.2008, 19:21 #3
1. перед мейном нужен прототип math();
2. перед названием math должен быть возвращаемый тип.
3. Ты не передаешь в math массив.Он обрабатывает мусор в памяти,а не введенный массив
0
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
30.10.2008, 19:23 #4
Не понятно.
1. как она компилируется вообще? вот это
Код
int getch()
}
в частности.
2.
Код
math(int)
где имя параметра? Слушай, если мы в функцию что-то передаем, то почему нигде не используем?
0
Lord_Voodoo
Супер-модератор
8594 / 2209 / 61
Регистрация: 07.03.2007
Сообщений: 10,967
Завершенные тесты: 1
30.10.2008, 19:31 #5
ладно, по крайней мере пробывал, попробуй теперь так:
Код
#include <stdio.h>
<math.h>
int math(int*a)
{
int x = 0;
for(int i=0;i<10;i++)
if(a[i]%3==0)
x++;
return x;
}
main()
{
int s;
int a[10] = new int(10);
printf("\n 3adaite 4isla: \n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
s=math((int*)a);
printf("\n kolvo chisel kratnblh 3 v dannom massive,%d chisel",s);
getch();
}
Добавлено через 4 минуты 26 секунд
Vourhey, math(int) - это еще ладно, а как тебе описание прототипа:
Код
int s,x,i,math(int),a[10];
0
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
30.10.2008, 19:34 #6
Цитата Сообщение от WooDooMan Посмотреть сообщение
Добавлено через 4 минуты 26 секунд
Vourhey, math(int) - это еще ладно, а как тебе описание прототипа:
Код
int s,x,i,math(int),a[10];
Точно . Не смотрел туда...
0
agen13
4 / 3 / 1
Регистрация: 02.10.2008
Сообщений: 5
30.10.2008, 20:45  [ТС] #7
Спсибо =))))))))))))))

Добавлено через 20 минут 40 секунд
попробуй теперь так:
Чет не хочет =(

Добавлено через 49 минут 20 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <math.h>
int math(int*a)
{
int x = 0;
for(int i=0;i<10;i++)
if(a[i]%3==0)
x++;
return x;
}
main()
{
int s,i,a[10],math(int*a);
printf("\n 3adaite 4isla: \n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
s=math(a);
printf("\n kolvo chisel kratnblh 3 v dannom massive,%d chisel",s);
int getch();
return s;
}
Вот у меня заработало =)
0
Lord_Voodoo
Супер-модератор
8594 / 2209 / 61
Регистрация: 07.03.2007
Сообщений: 10,967
Завершенные тесты: 1
31.10.2008, 09:34 #8
ну я писал без проверки, поправил самые явные ошибки с моей точки зрения
вот рабочий код, на компилятор еще пока не тяну:
Код
#include <iostream>
#include <conio.h>
using namespace std;
int math(int*a)
{
int x = 0;
for(int i=0;i<10;i++)
if(a[i]%3==0)
x++;
return x;
}
main()
{
int s;
int* a = new int(10);
printf("\n 3adaite 4isla: \n");
for(int i=0;i<10;i++)
  cin>>a[i];
s=math(a);
printf("\n kolvo chisel kratnblh 3 v dannom massive,%d chisel",s);
getch();
}
int getch(); - это бесмысленный код, потому что это объявление функции, но не ее вызов, тем более, что компилятор это пропустил именно потому, что думал, что это объявление функции, т.к. getch находится в хидере conio...
math(int*a) - не понимаю, но верую... не знаю, почему это корректно, может кто другой объяснит...
0
Spo1ler
292 / 52 / 3
Регистрация: 22.05.2008
Сообщений: 788
31.10.2008, 09:51 #9
"найти числа из массива кратных 3". Повеселило, "числа кратных трем"? Аффтор спит на русском?
А с первоначального кода аффтора я вообще истерически смеялся минут пять. %) %)
0
Lord_Voodoo
Супер-модератор
8594 / 2209 / 61
Регистрация: 07.03.2007
Сообщений: 10,967
Завершенные тесты: 1
31.10.2008, 10:51 #10
Spo1ler, а знаешь, что его последний код работает, хотя я свято верил, что компилер такого издевательства над собой не позволит...
никак не пойму, как он пропускает такой код:
Код
int s,i,a[10],math(int*a);
0
Joker
18 / 18 / 0
Регистрация: 29.10.2008
Сообщений: 99
31.10.2008, 10:53 #11
извини я C и C++ не знаю.
0
Lord_Voodoo
Супер-модератор
8594 / 2209 / 61
Регистрация: 07.03.2007
Сообщений: 10,967
Завершенные тесты: 1
31.10.2008, 11:07 #12
Joker, уважаемый пока устно - не знаете, не пишите, или вы кол-во постов решили быстро набрать... это неприемлимое поведение, как по мне...
2
31.10.2008, 11:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2008, 11:07
Привет! Вот еще темы с ответами:

Найти количество положительных элементов массива кратных 5 - C++
Ребята просьба помочь с решением 2-х небольших задач. 1)найти количество положительных элементов массива кратных 5.

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

Заполнить массив А(10) случайными числами. Подсчитать и вывести на экран количество элементов массива, кратных 7 и не кратных 3 - C++
1) Заполнить массив А(10) случайными числами. Подсчитать и вывести на экран количество элементов массива, кратных 7 и не кратных 3. ...

Шаблон функции: найти сумму элементов массива, кратных 3 - C++
Создать шаблон функции: Найти сумму элементов массива C кратных 3. Нужна помощь, как это сделать.


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

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

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