|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
13.09.2009, 17:24 | #11 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Код:
program calc; uses crt; var a: array[1..10000] of integer; exz: array[0..9] of integer; n, i, k, j: integer; begin {Начало программы} clrscr; writeln('Введите количество элементов массива'); readln(n); writeln('Начинаем заполнение массива ',n,' значениями'); for i:=1 to n do {Цикл заполнения массива} begin writeln('Введите значение ',i,'-го элемента'); read(a[i]); if a[i]<1 then begin writeln('Вы ввели не натуральное число, пожалуйста, повторите.'); i:=i-1; end; end; {начинаем анализ массива} for i:=1 to n do begin while a[i] >0 do begin j:=a[i] mod 10; exz[j]:=exz[j]+1; a[i]:=a[i] div 10; end; end; {начинаем обрабатывать результирующий массив} k:=exz[0]; for i:=0 to 9 do if exz[i]>k then begin k:=exz[i]; j:=i; end; writeln('Наиболее часто в массиве встречается цифра ',j); readln; end. З.Ы. Внимание! В обоих вариантах не обрабатываются одинаковые значения в результирующем массиве, просто находится первый наибольший элемент и выводится, остальные с тем же значением игнорируются. З.З.Ы. Тему подчистил от промежуточного обсуждения.
__________________
Убить всех человеков! |
13.09.2009, 17:24 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Содержание данных топиков схоже с вашим Нужна помощь в решении задачи Прошу помощи Админа Прошу помощи с принтером Прошу помощи Нужна помощь в решении задачи |
13.09.2009, 19:26 | #14 (permalink) | |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Цитата:
Код:
program calc; uses crt; var a: array[1..10000] of integer; exz: array[1..10000] of integer; n, i, k, j, g: integer; begin clrscr; writeln('Введите количество элементов массива'); readln(n); writeln('Начинаем заполнение массива ',n,' значениями'); for i:=1 to n do {Цикл заполнения массива} begin writeln('Введите значение ',i,'-го элемента'); read(a[i]); end; for i:=0 to n+1 do exz[i]:=0; {начинаем анализ массива} for i:=1 to n do begin k:=a[i]; while k > 0 do begin j:=k mod 10; exz[i]:=exz[i]+j; k:=k div 10; end; end; {Выводим оба массива рядом в столбик} writeln("Число Сумма цифр'); for i:=1 to n do begin write(a[i]:6, exz[i]:6); writeln; end; {обрабатываем массивы} for g:=1 to n do begin j:=0; k:=0; for i:=2 to n do begin if exz[i]<exz[i-1] then begin k:=exz[i-1]; j:=a[i-1]; exz[i-1]:=exz[i]; a[i-1]:=a[i]; exz[i]:=k; a[i]:=j; end; end; end; {Выводим получившиеся массивы рядом в столбик} writeln("Число Сумма цифр'); for i:=1 to n do begin write(a[i]:6, exz[i]:6); writeln; end; readln(n); end.
__________________
Убить всех человеков! Последний раз редактировалось AlexZir; 13.09.2009 в 19:54 Причина: дополнил |
|
29.09.2009, 22:36 | #15 (permalink) |
Member
Регистрация: 29.09.2009
Сообщений: 32
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите, пожалуйста, написать на паскале след задание:
"Определить сумму квадратов первых трех цифр заданного пятизначного числа. Определить символ, который соответствует числу, образованному и 2-х последних цифр исходного числа." |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
29.09.2009, 23:12 | #16 (permalink) | |
Member
Регистрация: 15.02.2009
Сообщений: 695
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 523
|
Цитата:
USES CRT; VAR CHISLO,CIFRA1,CIFRA2,CIFRA3,SUMMA:INTEGER; BEGIN CLRSCR; WRITELN('ВВЕЛИТЕ ЧИСЛО'); READ(CHISLO); CIFRA1:=CHISLO DIV 10000; CIFRA2:=CHISLO DIV 1000 MOD 10; CIFRA3:=CHISLO DIV 100 MOD 10; SUMMA:=SQR(CIFRA1)+SQR(CIFRA2)+SQR(CIFRA3); WRITELN('1 ЦИФРА=',CIFRA1,' 2 ЦИФРА=',CIFRA2,' 3 ЦИФРА=',CIFRA3,' СУММА ЧИСЕЛ',SUMMA); END. Последний раз редактировалось DDS; 29.09.2009 в 23:19 |
|
30.09.2009, 16:06 | #17 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
PROGRAM OPREDEL; USES CRT; VAR CHISLO,CIFRA1,CIFRA2,CIFRA3,SUMMA:INTEGER; Ch:Char; BEGIN CLRSCR; WRITELN('ВВЕДИТЕ ЧИСЛО'); READLN(CHISLO); CIFRA1:=CHISLO DIV 10000; CIFRA2:=CHISLO DIV 1000 MOD 10; CIFRA3:=CHISLO DIV 100 MOD 10; Ch:=CHR(CHISLO mod 100); SUMMA:=SQR(CIFRA1)+SQR(CIFRA2)+SQR(CIFRA3); WRITELN('1 ЦИФРА=',CIFRA1,' 2 ЦИФРА=',CIFRA2,' 3 ЦИФРА=',CIFRA3,' СУММА ЧИСЕЛ',SUMMA,' СИМВОЛ=',Ch); READLN; END. Замена в 7 строке READ на READLN и добавление READLN в конце программы нужно, чтобы после вывода на экран программа остановилась, дав возможность увидеть результат. И еще совет - НЕ использовать кириллицу: при запуске в DOS-Паскале символы отображаются неверно. Поэтому желательно все эти 'ВВЕДИТЕ ЧИСЛО', 'ЦИФРА' и т.п. заменить латиницей. |
|
30.09.2009, 16:14 | #18 (permalink) |
Member
Регистрация: 24.12.2008
Сообщений: 419
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1311
|
Программа может вывести в качестве символа черточку или квадратик? Это спрашивается в задаче?
Последний раз редактировалось ummasha; 30.09.2009 в 16:22 |
30.09.2009, 16:24 | #19 (permalink) |
Banned
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
|
Если речь идет о консольном приложении, то да, может. Псевдографика — Википедия
Там коды этих символов. На Паскале это делается так: Код:
write(chr($DB)); |
30.09.2009, 16:35 | #20 (permalink) |
Member
Регистрация: 24.12.2008
Сообщений: 419
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1311
|
В моем паскале write(chr($DB)); выводит букву Ы. Но у меня не DOS-Паскаль, а Паскаль АВС, так что все нормально.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|