|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
15.05.2014, 20:41 | #1 |
Пользователь
Регистрация: 15.12.2013
Сообщений: 24
|
Где моя ошибка не могу найти
Создайте файл f, компоненты которого являются целыми числами. Напишите программу подсчета нечетных и четных компонентов файла f, и определите, каких из них больше (почему то ввод с клавы но не из файла)
program xxx; const n = 5; var f : file of integer; x,y,i : integer; z : array [1..n] of integer; begin assign(f,'C:\Users\я\Desktop\файл11 1.txt'); rewrite(f); x := 0; y := 0; for i := 1 to n do begin write ('z[',i,']='); readln(z[i]); if z[i] mod 2 = 0 then inc(x) else inc(y); end; if x > y then writeln('Больше четных') else if y > x then writeln('Больше нечетных') else writeln('Поровну'); reset(f); i := 1; while not eof(f) do begin read(f,z[i]); write(z[i],' '); inc(i); end; readln; end. |
15.05.2014, 20:58 | #2 |
Участник клуба
Регистрация: 05.11.2013
Сообщений: 1,601
|
Программа отработает неверно, если элемент массива=0
Код:
|
15.05.2014, 21:04 | #3 | |
Пользователь
Регистрация: 15.12.2013
Сообщений: 24
|
Цитата:
|
|
15.05.2014, 21:07 | #4 |
Участник клуба
Регистрация: 05.11.2013
Сообщений: 1,601
|
Вы вводите элементы массива с клавиатуры. Если не нравится, сделайте рандомное заполнение.
|
15.05.2014, 21:14 | #5 |
Пользователь
Регистрация: 15.12.2013
Сообщений: 24
|
|
15.05.2014, 21:18 | #6 | |
Пользователь
Регистрация: 15.12.2013
Сообщений: 24
|
Цитата:
program xxx; const n = 5; var f : file of integer; x,y,i : integer; z : array [1..n] of integer; path : string; begin assign(f,'C:\Users\яяя\Desktop\ффф1 11.txt'); rewrite(f); randomize; x := 0; y := 0; for i := 1 to n do begin z[i] :=random(10)+1; write(f,z[i]); if z[i] mod 2 = 0 then inc(x) else inc(y); end; if x > y then writeln('Больше четных') else if y > x then writeln('Больше нечетных') else writeln('Поровну'); reset(f); i := 1; while not eof(f) do begin read(f,z[i]); write(z[i],' '); inc(i); end; readln; end. у меня вот как было, но мне сказали сделать без рондома, а выводит он у меня вот так Больше нечетных 1 1 9 6 10 мне так же надо |
|
15.05.2014, 21:28 | #7 |
Участник клуба
Регистрация: 05.11.2013
Сообщений: 1,601
|
Тогда разделите программу на две. Одна на создание, вторая на подсчет.
Еще вывести массив нужно? Так добавьте вывод массива. |
15.05.2014, 21:34 | #8 |
Пользователь
Регистрация: 15.12.2013
Сообщений: 24
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Моя сортировка. внутри ошибка, найти не могу | pinkiller | Общие вопросы C/C++ | 1 | 10.01.2012 18:41 |
не могу понять где ошибка | Neon-z | PHP | 13 | 22.01.2011 16:15 |
не могу ни где найти прогу с++, помогите... | HIGER INTELLECT | Общие вопросы C/C++ | 2 | 18.09.2009 18:28 |