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

"Олимпиадная задачка" - C++

Восстановить пароль Регистрация
 
pashulke
7 / 1 / 1
Регистрация: 22.08.2013
Сообщений: 16
06.11.2013, 14:44     "Олимпиадная задачка" #1
Напишите программу, которая в последовательности натуральных
чисел определяет минимальное число, оканчивающееся на 4.
Программа получает на вход количество чисел в последовательности, а затем
сами числа. В последовательности всегда имеется число, оканчивающееся
на 4.
Количество чисел не превышает 1000. Введённые числа не превышают
30 000.
Программа должна вывести одно число – минимальное число,
оканчивающееся на 4.

Предполагаю, что через массив, то есть вроде
C++
1
int x[1000]
А потом как? Через for?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ПерС
366 / 282 / 84
Регистрация: 05.11.2013
Сообщений: 806
Записей в блоге: 5
Завершенные тесты: 1
06.11.2013, 14:56     "Олимпиадная задачка" #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
#include <stdio.h>
#include <stdlib.h>
 
const int n=1000;
int x[n];
 
int min4 (int n, int *a) {
 int i,res=32767;
 for (i=0; i<n; i++) {
  if (a[i]%10==4) { if (a[i]<res) res=a[i]; }
 }
 return res;
}
 
int main () {
 int i;
 for (i=0; i<n; i++) {
  x[i]=1+random(30000);
  printf ("%d ",x[i]);
 }
 printf ("\nRESULT=%d",min4(n,x));
 printf ("\nENTER TO EXIT");
 getchar();
 return 0;
}
Почему ты называешь ее олимпиадной? Это задача для 1-го семестра изучения ЯП, тема "Типовые алгоритмы"
А вообще-то достаточно одного цикла
pashulke
7 / 1 / 1
Регистрация: 22.08.2013
Сообщений: 16
06.11.2013, 15:08  [ТС]     "Олимпиадная задачка" #3
Цитата Сообщение от ПерС Посмотреть сообщение
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
#include <stdio.h>
#include <stdlib.h>
 
const int n=1000;
int x[n];
 
int min4 (int n, int *a) {
 int i,res=32767;
 for (i=0; i<n; i++) {
  if (a[i]%10==4) { if (a[i]<res) res=a[i]; }
 }
 return res;
}
 
int main () {
 int i;
 for (i=0; i<n; i++) {
  x[i]=1+random(30000);
  printf ("%d ",x[i]);
 }
 printf ("\nRESULT=%d",min4(n,x));
 printf ("\nENTER TO EXIT");
 getchar();
 return 0;
}
Почему ты называешь ее олимпиадной? Это задача для 1-го семестра изучения ЯП, тема "Типовые алгоритмы"
А вообще-то достаточно одного цикла
Это же С, а не С++. Это задача с демонстрационного варианта ГИА, в этом учебном году сдавать.. Мне надо именно на С++
ПерС
366 / 282 / 84
Регистрация: 05.11.2013
Сообщений: 806
Записей в блоге: 5
Завершенные тесты: 1
06.11.2013, 15:17     "Олимпиадная задачка" #4
Цитата Сообщение от pashulke Посмотреть сообщение
Это же С, а не С++
Основные известные мне отличия C++ от C следующие:
Объекты и ООП
Наследование
new и delete
Конструкторы и деструкторы
Виртуальные функции
Исключения
Перегруженные операторы
Оператор ссылки
Inline, template и default-аргумент

Какие именно из этих возможностей ты планируешь использовать в своей олимпиадной C++-программе?
SilentHunt
1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 13
06.11.2013, 15:18     "Олимпиадная задачка" #5
Цитата Сообщение от pashulke Посмотреть сообщение
Это же С, а не С++.
Как ты это выяснил, если не секрет?
pashulke
7 / 1 / 1
Регистрация: 22.08.2013
Сообщений: 16
06.11.2013, 15:47  [ТС]     "Олимпиадная задачка" #6
Окей, окей, не надо сразу кидаться камнями? printf смутило
Yandex
Объявления
06.11.2013, 15:47     "Олимпиадная задачка"
Ответ Создать тему
Опции темы

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