Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 16.01.2011, 16:00   #1 (permalink)
N@tali
Member
 
Регистрация: 02.01.2011
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Вопрос про цикл

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

а мне надо чтобы только по первым буквам совпадали то есть по инициалам...
помогите пожалуйста с этим...всю программу мне не надо...

Код:
for I:=1 to 10 do
begin
s:=student[i].fam;
s1:=student[i].otc;
s2:=student[i].name;
if (s[1]=s1[1])and (s1[1]=s2[1])then
writeln('фамилия студента : ', student[I].fam);end;
end.
N@tali вне форума   Ответить с цитированием

Старый 16.01.2011, 16:00
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

По запросам найдены топики, которые по содержанию схожи с вашим

Вопрос по С++
Цикл с параметром for
Цикл с условием, Паскаль
Цикл с условием, Паскаль
Вопрос по СВО
Мой вопрос

Старый 16.01.2011, 16:09   #2 (permalink)
George Smith
<< Эксперт >>
 
Аватар для George Smith
 
Регистрация: 27.11.2010
Адрес: Большеземельская тундра, Чукча я однако ... :)
Сообщений: 28,167
Записей в дневнике: 5
Сказал(а) спасибо: 400
Поблагодарили 273 раз(а) в 85 сообщениях
Репутация: 81007
По умолчанию

N@tali, надо сделать в цикле выборку первых букв в инициалах ...
__________________
George Smith вне форума   Ответить с цитированием
Старый 16.01.2011, 16:26   #3 (permalink)
N@tali
Member
 
Регистрация: 02.01.2011
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

пожалуйста сделайте мне.... выборка мне непонятно...вы можете поправить мой кусок кода..????
N@tali вне форума   Ответить с цитированием
Старый 16.01.2011, 16:33   #4 (permalink)
George Smith
<< Эксперт >>
 
Аватар для George Smith
 
Регистрация: 27.11.2010
Адрес: Большеземельская тундра, Чукча я однако ... :)
Сообщений: 28,167
Записей в дневнике: 5
Сказал(а) спасибо: 400
Поблагодарили 273 раз(а) в 85 сообщениях
Репутация: 81007
По умолчанию

N@tali, извини я в другом языке работаю, но смысл сразу ясен,
по операторам, чёйто похожее, даже у Бейсика так же ...
__________________
George Smith вне форума   Ответить с цитированием
Старый 16.01.2011, 16:44   #5 (permalink)
N@tali
Member
 
Регистрация: 02.01.2011
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

а кто нибудь может помочь???
N@tali вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 16.01.2011, 17:55   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от N@tali Посмотреть сообщение
а кто нибудь может помочь???
В принципе ошибок не вижу. Дайте программу целиком, чтобы можно было погонять.
Vladimir_S вне форума   Ответить с цитированием
Старый 16.01.2011, 18:07   #7 (permalink)
N@tali
Member
 
Регистрация: 02.01.2011
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

вот пожалуйста...
Код:
type anketa=record
fam: string[45];
otc: string[8];
name: string[50];
curs: 1..5;
grupp: string[3]
end;
var student: array [1..100] of anketa;
 I,z,z1,z2: integer;
 s,s1,s2:string;
begin
{последовательно вводим каждую запись}
 for I:=1 to 10 do
begin
writeln ('введите сведения о', I , '-м студенте');
writeln ('введите фамилию');
readln (student[I].fam);
writeln ('введите отчество');
readln (student[I].otc);
writeln ('введите имя');
readln(student[I].name);
writeln ('введите курс');
readln(student[I].curs);
writeln ('введите группу');
readln (student[I].grupp);
end;
for I:=1 to 10 do
begin
s:=student[i].fam;
s1:=student[i].otc;
s2:=student[i].name;
if (s[1]=s1[1])and (s1[1]=s2[1])then
writeln('фамилия студента : ', student[I].fam);end;
end.
N@tali вне форума   Ответить с цитированием
Старый 16.01.2011, 18:10   #8 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Да... мистика. Я тут набросал тест-программку:
Код:
TYPE
 TTT=Record
     fam:String;
     name:String;
     otc:String;
    end;
VAR
 Student:Array[1..3] of TTT;
 s,s1,s2:String;
 i:byte;
Begin
 Student[1].fam:='Ivanov';
 Student[1].name:='Igor';
 Student[1].otc:='Isidorovich';

 Student[2].fam:='Petrova';
 Student[2].name:='Pelageya';
 Student[2].otc:='Porfiryevna';

 Student[3].fam:='Sidorov';
 Student[3].name:='Alexey';
 Student[3].otc:='Rodionovich';

 for i:=1 to 3 do
  begin
   s:=student[i].fam;
   s1:=student[i].otc;
   s2:=student[i].name;
   if (s[1]=s1[1]) and (s1[1]=s2[1]) then
    writeln('фамилия студента : ', student[I].fam);
  end;
 readln;
end.
так у меня четко выдает Ivanov и Petova.
Сейчас Вашу посмотрю.
Vladimir_S вне форума   Ответить с цитированием
Старый 16.01.2011, 18:14   #9 (permalink)
N@tali
Member
 
Регистрация: 02.01.2011
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

мне нужно чтобы выдавал результат...
например:
Иванов Александр Петрович
Икаев Алексей Павлович

то есть чтобы первые буквы ФИО совпадали...
N@tali вне форума   Ответить с цитированием
Старый 16.01.2011, 18:21   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от N@tali Посмотреть сообщение
мне нужно чтобы выдавал результат...
например:
Иванов Александр Петрович
Икаев Алексей Павлович

то есть чтобы первые буквы ФИО совпадали...
Ах, вот что! Так у Вас же совсем иная проверка - на совпадения трех инициалов для каждого студента (напр. Петрова Прозерпина Порфирьевна).
Ладно, теперь вроде ясно. Это несколько сложнее. Попробую.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 09:14.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.