Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2008, 19:12   #1
glasian
Пользователь
 
Регистрация: 15.06.2008
Сообщений: 32
По умолчанию помогите с прогой на паскале

задан массив, значение элементов которого являются целые числа от 0 до 9,кол-во элементов 40/50.Определить кол-во повторения каждого числа.
glasian вне форума Ответить с цитированием
Старый 18.06.2008, 19:12   #2
glasian
Пользователь
 
Регистрация: 15.06.2008
Сообщений: 32
По умолчанию

заранее благодарен.
glasian вне форума Ответить с цитированием
Старый 18.06.2008, 19:26   #3
glasian
Пользователь
 
Регистрация: 15.06.2008
Сообщений: 32
По умолчанию

program spec;

var a:array[1..50] of 0..9;b:array [0..9] of byte;c:set of 0..9;
ss:string;s:text;
i,n:byte;begin write('I7yTb k o|oAu`JIy,,,,,N');read(ss,n);
assign(s,ss);reset(s);c:=[];for i:=0 to 9 do c:=c+[i];
for i:=1 to n do begin read(s,a[i]);if a[i] in c then inc(b[a[i]]);end;
for i:=0 to 9 do writeln('chislo',i,' ',b[i],'raz');readln;end.


она должна выводить повторяющиеся числа из вн файла а она мне показывает что повторяющихся чисел нет.
внешний файл:2 3 4 5 6 7 8 9 8 7 6 5 4 2 3 5 7 9
glasian вне форума Ответить с цитированием
Старый 18.06.2008, 19:37   #4
OLEG'arh
Пользователь
 
Аватар для OLEG'arh
 
Регистрация: 23.11.2006
Сообщений: 42
По умолчанию

var a:array[1..50] of 0..9;b:array [0..9] of byte;c:set of 0..9;
ss:string;s:text;
i,n,j:byte;begin write('I7yTb k o|oAu`JIy,,,,,N');read(ss,n);
assign(s,ss);reset(s);c:=[];for i:=0 to 9 do c:=c+[i];
for i:=1 to n do
for j:=0 to 9 do
begin
read(s,a[i]);
if a[i] in c then inc(b[a[j]]);
end;
for i:=0 to 9 do writeln('chislo',i,' ',b[i],'raz');readln;end.
OLEG'arh вне форума Ответить с цитированием
Старый 18.06.2008, 19:37   #5
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

omg. Вот это форматирование кода... Вот это я понимаю..... круто.......
Сам то понимаешь что там написанно?

Вот нормальное форматирование. Всё разбито на блоки и понятно что кто делает в програме.

Код:
Var x, z : Integer;
      Mass : Array [1..50] of Integer;
     M : Array [0..9] of Integer;

Begin

Randomize;
For x := 1 To 50 Do
  Begin
    Mass[x] := Random(10);
    Write(Mass[x], ' ');
  End;

For x := 1 To 50 Do
For z := 0 To 9 Do If Mass[x] = z Then M[z] := M[z] + 1;

Writeln;
For x := 0 To 9 Do Writeln(x, ': ', M[x]);

Readln;
End.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 18.06.2008, 19:38   #6
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Код безобразно оформлен!

Создаётся впечатление, что при вводе N (read(ss,n) вы вводите строку (путь к файлу) и жмёте Enter... Либо как-то иначе. Вообщем N скорее всего равно 0. И программа ничего не читает из файла.
zetrix вне форума Ответить с цитированием
Старый 18.06.2008, 19:57   #7
glasian
Пользователь
 
Регистрация: 15.06.2008
Сообщений: 32
По умолчанию

спасибо большое
glasian вне форума Ответить с цитированием
Старый 18.06.2008, 21:31   #8
glasian
Пользователь
 
Регистрация: 15.06.2008
Сообщений: 32
По умолчанию

а может кто-нибудь может сделать так чтоб прога читала из вн.файла?
glasian вне форума Ответить с цитированием
Старый 19.06.2008, 00:10   #9
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Вот простой пример заполнения двумерного массива из файла:

Код:
Var x, y : Integer;
      mass : array [1..10, 1..10] of Integer;
      F : TextFile;

Begin
AssignFile(F, 'In.txt');
Reset(F);

For x := 1 To 10 Do
  For y := 1 To 10 Do
    Read(F, mass[x,y]);

CloseFile(F);

Writeln;

For x := 1 To 10 Do
  Begin
    For y := 1 To 10 Do
      Write(mass[x,y], ' ');
    Writeln;
  End;

Readln;
End.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с прогой на Си Diget Общие вопросы C/C++ 3 04.06.2008 00:20
помогите с прогой DeDoK Общие вопросы Delphi 7 09.05.2008 23:51
Помогите с прогой! NecRomant Общие вопросы Delphi 4 25.02.2008 20:19
Помогите с прогой DarthNemo Помощь студентам 2 06.05.2007 18:11