Вопрос № 166040: Всем привет! Помогите с решением задачи на турбо паскаль В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1.Кол-во элементов массива, равных 0; 2.Сумму элементов массива расположенных после минимального элемента. 3....
Вопрос № 166041: Всем привет! вот ещё задача на Турбо паскаль немогу никак решить( Сколько слов имеют окончание на заданную букву? Вывести на экран слова и их кол-во...Вопрос № 166043: Уважаемые эксперты ! Помогите пожалуйста решить задачу! В существующем файле, элементами которого являются числа, изменить на заданное число: k-ый элемент.Новые значения вводятся с клавиатуры.Заранее спасибо....Вопрос № 166063: Всем привет. Пожалуйста помогите решить задачу. В одномерном массиве, состоящем из 'n' вещественных элементов вычислить: 1)Максимальный по модулю
элемент массива; 2)Сумму элементов массива расположенных между первым и вторым поло...Вопрос № 166068: Здравствуйте, уважаемые эксперты! Помогите, пожалуйста, решить 2 задачи: 1) Найти сумму четных и нечетных чисел натурального ряда в диапазоне, который задает пользователь. 2) Пользователь вводит число. Необходимо поменять позицию чисел. <...
Вопрос № 166.040
Всем привет! Помогите с решением задачи на турбо паскаль В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1.Кол-во элементов массива, равных 0; 2.Сумму элементов массива расположенных после минимального элемента. 3.Упорядочить элементы массива по возрастанию модулей элементов.
Отвечает: Киселева Светлана Александровна
Здравствуйте, Вязовой Анатолий Евгеневич! Насколько я знаю, в школе, если только Вас не готовят к олимпиаде, в качестве разделителя берут один пробел. Но так как я не в курсе: Вы готовитесь к обычному уроку или у Вас повышенный уровень изучения программирования, то с учетом того, что посоветовал сделать господин Зенченко, получилась следующая программа:
Код:
program slova; var s:string; c:char; i,k,n:byte; Begin writeln('Vvedite stroku'); readln(s); {Помещаем введенную строку в переменную строкового типа s} writeln('Na kakuyu bykvy zakanchivaetsya slovo?'); readln(c); {В переменную с поместим заданную с клавиатуры букву, на кото
рую возможно будут заканчиваться некоторые слова} for i:=1 to length(s) do {Цикл "пробегает" последовательно все символы, которые были записаны в строке} if (s[i]='.') or (s[i]=',') or (s[i]=':') or (s[i]='?') or (s[i]=';') or (s[i]='!') then {и проверяет каждый i-й символ - а вдруг он разделитель (точка, запятая, двоеточие,} s[i]:=' '; {вопросительный или восклицательный знак, или точка с запятой, тогда
в строке этот символ заменяем пробелом} if s[1]<>' ' then n:=1; {если первый символ строки - не пробел, то в переменную n записываем номер позиции 1, с которого начинается первое слово} k:=0; {пока мы не нашли ни одного слова, заканчивающегося на заданную букву, количество слов равно нулю} for i:=1 to length(s)-1 do
begin {от первого до предпоследнего символа строки цикл делает пробежку с проверкой следующих условий:} if (s[i]=' ') and (s[i+1]<>' ') then n:=i+1; {если i-й символ - пробел, а следующий за ним не пробел, то переменная n запоминает номер в строке начала слова - (i + 1)} if (s[i]=c) and (s[i+1]=' ') then begin writeln(copy(s,n,i-n+1)); k:=k+1; end; {если текущий символ
строки равен искомой букве, а следующий символ - пробел, то мы нашли} {слово, заканчивающееся заданной буквой. Скопируем это слово из строки s, начиная с символа n,} {количество скопированных символов равно текущ.номер - номе
р начала слова +1 (проверьте - это так!)} end; {количество искомых слов k увеличивается на 1} if s[length(s)]=c then begin writeln(copy(s,n,length(s)-n+1)); k:=k+1; end; {проверим последний символ в строке, а вдруг последнее слово тоже нам пождходит} {если подходит
- копию из строки - на экран, количество слов возрастает на 1} writeln(k,' - kolichestvo slov, kotorye zakanchivayutsya na bykvy ',c); {выведем на экран, сколько слов мы насчитали} readln END.
Вставлены теги "код" и произведено форматирование кода для улучшения читаемости.
--------
∙ Отредактировал: sir Henry, Академик
∙ Дата редактирования: 01.05.2009, 11:46 (время московское)
--------- Если помочь другим в твоих силах - помоги!
#thank 248403 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 166.043
Уважаемые эксперты ! Помогите пожалуйста решить задачу! В существующем файле, элементами которого являются числа, изменить на заданное число: k-ый элемент.Новые значения вводятся с клавиатуры.Заранее спасибо.
Отвечает: Proce
Здравствуйте, хабибуллин руслан рамилевич! Решение ваших задач в приложении.
Приложение:
Ответ отправил: Proce (статус: 4-й класс)
Ответ отправлен: 29.04.2009, 07:10
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 248387 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 4 Комментарий оценки: Уважаемый Proce второе условие массива не выполняется. при нахождении суммы элементов массива расположенных между первым и вторым положительными элементами он выводит '0' проверял множество раз думал это совпадение .
Вопрос № 166.068
Здравствуйте, уважаемые эксперты! Помогите, пожалуйста, решить 2 задачи: 1) Найти сумму четных и нечетных чисел натурального ряда в диапазоне, который задает пользователь. 2) Пользователь вводит число. Необходимо поменять позицию чисел.
Заранее буду очень благодарна.
Отправлен: 29.04.2009, 00:35
Вопрос задала: Alin4ik (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Киселева Светлана Александровна
Здравствуйте, Alin4ik! По первой задаче условие понятно, поэтому и программа получилась быстро:
Код:
program z1; var a,b,i:integer; s1,s2:longint;
Begin writeln('Vvedite diapazon chisel'); write('a='); readln(a); {Левая граница
диапазона} write('b='); readln(b); {Правая граница диапазона} s1:=0; s2:=0; {S1 - накопитель суммы нечетных чисел; S2 - накопитель суммы четных чисел. Они изначально обнуляются} for i:=a to b do {цикл пробежки по всем значениям из заданного диапазона} if i mod 2=1 then s1:=s1+i {если остаток от деления текущего числа диапазона - единица, то число - нечетное, добавим его в s1, ин
аче - оно четное, добавим в s2} else s2:=s2+i; writeln('summa nechetnyx chisel ravna ',s1); {выведем на экран получившуюся сумму нечетных чисел} writeln('summa chetnyx chisel ravna ',s2); {сумму четных нам тоже интересно посмотреть} readln End.
Что касается второй задачи, то чем быстрее Вы уточните условие (что значит "поменять позицию чисел"?), тем быстрее я или кто-то другой Вам поможет. Удачи!
Вставлен тег "код" и произведено форматирование для улучшения читаемости.
--------
∙ Отредактировал: sir Henry, Академик
∙ Дата редактирования: 01.05.2009, 11:55 (время московское)
--------- Если помочь другим в твоих силах - помоги!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.