С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 27.02.2010
Сообщений: 4

Вывести на экран каких чисел больше (положительных или отрицательных)

27.02.2010, 17:57. Показов 2074. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан файл из целых чисел. Вывести на экран каких чисел больше положительных или отрицательных в этом файле. (Искать количество положительных, отрицательных, потом сравнить.)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2010, 17:57
Ответы с готовыми решениями:

Каких чисел в массиве больше, положительных или отрицательных
Напишите программу, которая вводит с клавиатуры 20 реальных чисел, организовывает их хранение в одномерном массиве, а затем определяет ...

Каких чисел в последовательности больше: отрицательных или положительных?
Помогите пожалуйста не могу разобраться 1 Создать одномерный массив из 18 элементов. Каких чисел в последовательности больше:...

Определить, каких чисел в массиве больше, положительных или отрицательных
Составить блок-схему решения задачи и программу: Имеется одномерный массив A? состоящий из N произвольных чисел (A(N)), среди которых...

12
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
28.02.2010, 06:33
Costiel, Файл какой? Текстовый или типизированный?
0
0 / 0 / 0
Регистрация: 27.02.2010
Сообщений: 4
28.02.2010, 15:22  [ТС]
Текстовый
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
28.02.2010, 19:16
Создай текстовый файл в папке с программой, запиши в него через пробелы положительные и отрицательные числа.
Pascal
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
uses crt;
var f:text;
    a,kp,ko:integer;
    name:string;
begin
clrscr;
write('Имя файла для чтения: ');
readln(name);
name:=name+'.txt';
assign(f,name);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  writeLn('Не могу открыть файл ',name);
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
kp:=0;ko:=0;
while not eof(f) do
 begin
  read(f,a);
  if a>0 then kp:=kp+1;
  if a<0 then ko:=ko+1;
 end;
close(f);
writeln('Положительных=',kp,'  отрицательных=',ko);
if kp>ko then write('Положительных больше')
else if ko>kp then write('Отрицательных больше')
else write('Положительных и отрицательных поровну');
readln
end.
1
0 / 0 / 0
Регистрация: 27.02.2010
Сообщений: 4
28.02.2010, 22:32  [ТС]
А если файл типизированный то как будет выглядеть программа? (просто училку нашу фиг поймешь)
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
28.02.2010, 22:37
Pascal
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
uses crt;
var f:file of integer;
    a,kp,ko:integer;
begin
clrscr;
assign(f,'fileF');
rewrite(f);
writeln('Введите в файл целые числа, окончание ввода 0:');
repeat
write('a=');
readln(a);
write(f,a);
until a=0;
clrscr;
writeln('Содержание исходного файла:');
kp:=0;
ko:=0;
reset(f);
while not eof(f) do
 begin
  read(f,a);
  write(a,' ');
  if a>0 then kp:=kp+1;
  if a<0 then ko:=ko+1;
 end;
writeln;
close(f);
reset(f);
writeln('Положительных=',kp,'  отрицательных=',ko);
if kp>ko then write('Положительных больше')
else if ko>kp then write('Отрицательных больше')
else write('Положительных и отрицательных поровну');
readln
end.
0
0 / 0 / 1
Регистрация: 03.11.2016
Сообщений: 4
26.11.2016, 17:12
ребят здесь надо типизированный файл создавать. иначе несоответсвие получиться: переменную вы забиваете текстовую а сравнить хотите типа Integer.
вот прога. она выводит в конце если больше положительных: дописывает плюс. если отрицательных: -1. если равное кол-во то пишет ноль.
Pascal
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
program xx;
function itog(a,b:integer):Integer;
  begin
  if a=b then itog:=0
 
  else if a<b then itog:=1
 
  else itog:=- 1;
 
  end;
 
 
 
 
 var f:file of Integer;
 
 g,n,s,count,count2:Integer;
begin
  count:=0;
  count2:=0;
  n:=0;
Writeln('write number or ctrl-z');
Assign(f,'myText.txt');
 Rewrite(f);
while not Eof do
begin
  read(s);
  write(f,s);
end;
 Closе(f);
Reset(f);
while not Eof(f)do
begin
 read(f,s);
 if s<0 then Inc(count)
 else Inc(count2);
 end;
n:=itog(count,count2);
   Seek(f,FileSize(f));
 Write(f,n);
Сlose(f);
reset(f);
while not Eof(f) do
begin
read(f,s);
write(s,' ');
end;
Close(f);
 readln;
end.
0
Модератор
10396 / 5684 / 3399
Регистрация: 17.08.2012
Сообщений: 17,327
29.11.2016, 10:46
Цитата Сообщение от dildanil Посмотреть сообщение
здесь надо типизированный файл создавать
А Puporev, что, разве не создал типизированный файл? Да, и где в его программе хоть одна текстовая переменная? dildanil, Ваша программа делает ровно то же самое, что и программа от Puporev, за одним небольшим отличием: вместо нормального человеческого ответа выдаёт тайную цифирь. Файловый ввод с консоли, это, конечно, хорошо, но не всем известно про ctrl-z. Также Ваша программа не вполне соответствует заданию: в задании нет ни слова о том, что в конец файла требуется что-либо записывать.

И, вообще-то, незачем закрывать открытый файл, чтобы тут же его заново открыть. Строки 30 и 41 (а у Puporev строка 27) лишние.
0
0 / 0 / 1
Регистрация: 03.11.2016
Сообщений: 4
29.11.2016, 19:21
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
Строки 30 и 41 (а у Puporev строка 27) лишние.
да что вы говорите?. по вашей логике тогда надо открыть файл и для и для записи одновременно. а это сделать нельзя. ошибка будет в любом случае!. нужно сначала либо открыть для записи и записать. одновременно это не сделать
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
29.11.2016, 19:56
Цитата Сообщение от dildanil Посмотреть сообщение
да что вы говорите?. по вашей логике тогда надо открыть файл и для и для записи одновременно. а это сделать нельзя. ошибка будет в любом случае!
Сказано было не то, что вы прочитали, а ровно вот это:
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
незачем закрывать открытый файл, чтобы тут же его заново открыть. Строки 30 и 41 ... лишние.
Pascal
1
2
3
4
5
6
7
8
9
10
  Assign(f,'myText.txt');
  Rewrite(f);
  ...
  Close(f); { не нужно }
  Reset(f); { можно сразу, без Close(f) }
  ...
  Close(f); { не нужно }
  Reset(f); { можно сразу, без Close(f) }
  ...
  Close(f); { тут нужно }
0
Модератор
10396 / 5684 / 3399
Регистрация: 17.08.2012
Сообщений: 17,327
30.11.2016, 04:09
Цитата Сообщение от dildanil Посмотреть сообщение
по вашей логике
Не по моей.
Цитата Сообщение от dildanil Посмотреть сообщение
одновременно это не сделать
Распространённое заблуждение. Вы пробовали? А что я спрашиваю, очевидно, что не пробовали, конечно. dildanil, если типизированный файл открыт, причём всё равно для чего, для записи или для чтения, в него можно писать в любое его место или в конец файла, и из него можно читать из любого его места уже записанное. Фактически, процедуры reset или rewrite открывают типизированный файл для чтения и записи и устанавливают указатель в нулевую позицию файла. Единственное отличие - rewrite делает длину файла нулевой. Иными словами, rewrite - это комбинация из reset и truncate. Всё это справедливо для любых файлов с произвольным доступом. С текстовым файлом, который является файлом с последовательным доступом, столь вольно поступать нельзя. В текстовый файл можно последовательно писать только в конец файла, а читать его можно только последовательно с начала файла. Но, даже в случае с текстовым файлом, не всё так плохо. Например, можно открыть текстовый файл для записи процедурой rewrite, что-то в него записать, затем процедурой reset установить указатель в начало файла, прочитать его, хоть весь, хоть частично, затем процедурой append установить позицию на конец файла и продолжить в него записывать. И закрывать при этом файл совершенно не требуется. Файл, по большому счёту, можно вовсе не закрывать, при выходе из программы файл и без close закроется. Close обязательно только в том случае, если в файл что-то писалось. И то не обязательно, без close просто будет потерян фрагмент файла, находящийся в файловом буфере.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
30.11.2016, 11:23
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
Файл, по большому счёту, можно вовсе не закрывать, при выходе из программы файл и без close закроется.
Про сброс буфера -- вызова Flush(f) достаточно.
Тут нужно сделать оговорку, что "можно не закрывать, если его закроет по завершении приложения операционная система". Уже даже MS-DOS по завершении процесса закрывала все открытые этим процессом файлы.
См. 13.3.7.2 http://www.oopweb.com/Assembly... H13-5.html

Но в целом, плохому учите
1
Модератор
10396 / 5684 / 3399
Регистрация: 17.08.2012
Сообщений: 17,327
01.12.2016, 08:33
Мало того, что плохому учу, ещё и недоучиваю... Забыл написать, что, в отличие от rewrite, reset генерирует ошибку, если файл не существует...

Насчёт применения вместо close бедной и несчастной операционной системы, закрывающей временные файлы после грязно написанной моими последователями программы, полностью согласен. Сам-то я цинично пишу в конце программы все нужные close, а здесь чего-то решил блеснуть нехорошими тайными знаниями... Лучше бы скопипастил откуда-нибудь нужные подробные описания.

bormant, за дополнение - спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.12.2016, 08:33
Помогаю со студенческими работами здесь

Определить, каких чисел в массиве больше: положительных или отрицательных
помогите написать программу,которая вводит с клавиатуры 20 реальных чисел,организовывает их хранение в одномерном массиве,а затем...

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

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

В массиве каких больше элементов положительных или отрицательных?
В массиве каких больше элементов положительных или отрицательных?

Определить каких среди чисел больше: положительных или отрицательных
Как данную задачу можно решить в паскале АВС при помощи циклов? Последовательно вводятся N целых чисел. Определить каких среди них...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru