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

Подаскажите, пожалуйста, почему не выводит результат программа

25.07.2017, 17:34. Показов 4424. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, почему не работает следующая программа, т.е. е выводятся сообщения по условию.
Сама задача: Задано N положительных целых чисел в интервале (0,108), нужно посчитать количество каких чисел по длине(например, 22 имеет длину 2 и т.д.) меньше всех, если одинаковое количество чисел разной длины, тогда выбирается меньшее по длине.
Вот программа на языке PascalABC..Net:


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
begin
var a,b,c,d:integer;
var N:=ReadInteger('Enter N: ');
for var i:=1 to N do
  begin
    Readln(a);
  if (a div 10)=0 then
  Inc(b);
    if (a div 10)<10 then
  Inc(c);
  if (a div 10)>10 then 
  Inc(d);
  end;
 
if (b>c) and (b>a) then Writeln('1-самая редкая длина');
if (c>a) and (c>b) then Writeln('2-самая редкая длина');
if (d>b)and(d>c) then Writeln('3-самая редкая длина'); 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.07.2017, 17:34
Ответы с готовыми решениями:

Не могу понять почему программа не выводит результат (простейшая программа)
Здравствуйте уважаемые форумчане! Я начал изучать C++ при помощи книги. На днях я столкнулся со...

Почему программа не выводит результат?
#include&lt;iostream&gt; #include&lt;cmath&gt; using namespace std; int main(int argc, char* argv) {...

Почему не выводит результат?
Ввожу число и ничего не происходит. В чем может быть проблема? // Задание 3: Пользователь вводит...

Почему код не выводит результат?
int const Y=20; int God, i; int MasY; void Year(){ for (i = 0; i &lt; Y; i++){ //...

5
Почетный модератор
64287 / 47586 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
25.07.2017, 17:51 2
Цитата Сообщение от space_for_mind Посмотреть сообщение
почему не работает следующая программа
Если честно сказать, то обидишься. Хоть бы условие задачи написал как в оригинале, а не что на ум пришло.
0
0 / 0 / 0
Регистрация: 25.07.2017
Сообщений: 12
25.07.2017, 18:19  [ТС] 3
Назовём длиной числа количество цифр в его десятичной записи. Например, длина числа 2017 равна 4, а длина числа 7 равна 1.
Дан набор из N целых положительных чисел, каждое из которых меньше 108. Необходимо определить, числа какой длины реже всего (но не менее одного раза) встречаются в данном наборе и сколько в нём чисел этой длины. Если числа разной длины встречаются одинаково часто (и реже, чем числа любой другой длины), нужно выбрать меньшую длину.
0
20 / 19 / 14
Регистрация: 25.03.2015
Сообщений: 68
25.07.2017, 18:31 4
Правда, есть на что обидеться.

1) Вот, как твоя программа сортирует числа. Явно не то, что нужно.
Pascal
1
2
3
4
5
6
7
8
9
    // Если 100-109
    if (a div 10) = 0 then
      Inc(b);
    // Если 0-99
    if (a div 10) < 10 then
      Inc(c);
    // Если 110+
    if (a div 10) > 10 then 
      Inc(d);
2) В твоей программе a - временная переменная, в которой хранится введённое число. Тут его быть никоим образом не должно. Да и вообще, даже если переменные были бы верны, при совпадении любых двух он тоже ничёго бы не вывел.
Pascal
1
2
3
  if (b > c) and (b > a) then Writeln('1-самая редкая длина');
  if (c > a) and (c > b) then Writeln('2-самая редкая длина');
  if (d > b) and (d > c) then Writeln('3-самая редкая длина');
Советую написать заново, комментируя все переменные.
1
Почетный модератор
64287 / 47586 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
25.07.2017, 19:10 5
Цитата Сообщение от space_for_mind Посмотреть сообщение
каждое из которых меньше 108.
Даже это лень правильно написать
наверняка там было 108

Добавлено через 34 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var b:array[1..8] of integer;
    a,l,mn:integer;
begin
var N:=ReadInteger('Enter N: ');
for var i:=1 to 8 do
b[i]:=0;
for var i:=1 to N do
 begin
  readln(a);
  l:=length(inttostr(a));
  inc(b[l]);
 end;
mn:=0;
for var i:=1 to 8 do
if b[i]>0 then
if mn=0 then mn:=i 
else if b[i]<b[mn] then mn:=i;
write('Наименее часто встречаются числа длиной ',mn);
end.
0
0 / 0 / 0
Регистрация: 25.07.2017
Сообщений: 12
25.07.2017, 21:09  [ТС] 6
Спасибо за помощь, вас понял.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.07.2017, 21:09
Помогаю со студенческими работами здесь

Почему выводит неверный результат?
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;locale.h&gt; #include...

Решение СЛУ. Почему MathCAD не выводит результат
Ребят, подскажите пожалуйста почему не выводит результат

В разных системах выводит разный результат, почему?
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;ctype.h&gt; #include &lt;locale.h&gt; #define DELIM &quot;...

Почему в выходной файл выводит неправильный результат?
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;stdlib.h&gt; using namespace std; #pragma...


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

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

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