Статистика
Всего в нашей базе более 4 327 664 вопросов и 6 445 979 ответов!

функция для определения позиции буквы в слове ,не могу найти ошибку.

10-11 класс

var slovo :string;
i :integer;
function ups(var s :string; ch :char):integer;
var i,n :integer;
begin
for i:=1 to length(s) do
if s[i]=ch then n:=i
else n:=0;
ups:=n;
end;
begin
writeln('vvedite slovo');
readln(slovo); writeln('N = ',ups(slovo,a));
end.

19052004 29 янв. 2015 г., 17:33:13 (9 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Romasidorov18
29 янв. 2015 г., 18:29:56 (9 лет назад)

Ошибок тут больше одной.
Во-первых, в операторе вывода стоит вызов функции ups, которой в качестве второго аргумента передается неизвестная переменная a. Если имелся в виду символ "а", его надо было заключить в одинарные кавычки.
Во-вторых, в теле функции ups определяется значение n в цикле. Даже, если искомый символ найден и n получит значение позиции этого символа в слове, то если слово просмотрено не полностью, следующий же проход по циклу снова сбросит n в ноль. Следовательно, эта функция будет выдавать верный результат только если искомая буква - последняя в слове.

var
  slovo: string;
  i: integer;

function ups(var s: string; ch: char): integer;
var
  i, n: integer;
begin
  i:=1;
  n:=0;
  while (i<=length(s)) and (n=0) do
    begin
    if s[i] = ch then n := i;
    i:=i+1
    end;
  ups:=n
end;

begin
  writeln('vvedite slovo');
  readln(slovo); writeln('N = ', ups(slovo, 'a'));
end.

Замечание: в языке Паскаль имеется функция Pos, производящая поиск подстроки в строке...

Ответить

Другие вопросы из категории

Составить программу:

Дана ведомость из 10 записей: фамилия и 3 оценки. Найти среднее арифметическое и округлить.

Найдите значение Z, определив использовав функцию Min.

Z=min(3,x)+min(x,y)-min(y,5)

Читайте также

функция для определения позиции буквы в слове ,не могу найти ошибку.

var slovo :string;
i :integer;
function ups(var s :string; ch :char):integer;
var i,n :integer;
begin
for i:=1 to length(s) do
if s[i]=ch then n:=i
else n:=0;
ups:=n;
end;
begin
writeln('vvedite slovo');
readln(slovo); writeln('N = ',ups(slovo,a));
end.

Необходимо составить блок схему нахождения позиции буквы в слове.

Хотя бы объясните, что значит "нахождение позиции буквы в слове"?

Не могу найти ошибки в программе

#include <math.h>

Составить функцию определения факта нахождения в одномерной матрице хоть одного нуля, состоящей из целых чисел и количеством элементов k. применить данную

функцию для нахождения номеров строк, произвольной матрицы, не содержащей нулей. Составить на языке паскаль.

Помогите пожалуйста!! я не могу понять что от меня хотят!!

Цель работы – получение навыков по проектированию информационных систем, и реализация их с помощью баз данных на основе системы управления базами данных MS Access.
БД «Учет движения транспортных потоков со склада» Генеральный список полей:Гаражный номер машины, государственный номер машины, адрес движения, расстояние в км, стоимость за 1 км, время выезда со склада, дата выезда со склада.Примечание. Запросы составить с условием отбора (по гаражному номеру, дате выезда со склада); с расчетом размера стоимости пробега; групповые расчеты для определения доходов с одной машины; групповые расчеты для определения доходов по месяцам и за год в целом.



Вы находитесь на странице вопроса "функция для определения позиции буквы в слове ,не могу найти ошибку.", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.