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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2011, 17:03   #21
Александр1993
Пользователь
 
Регистрация: 29.05.2011
Сообщений: 20
По умолчанию

мой разума затуманен=(
Александр1993 вне форума Ответить с цитированием
Старый 06.06.2011, 17:06   #22
Александр1993
Пользователь
 
Регистрация: 29.05.2011
Сообщений: 20
По умолчанию

Код:
program n9;
type
mas=array[1..25] of string;
var
m:mas;
k1, k2 ,k3:real;
k:real;
procedure vvod(var m:mas);
var
i:integer;
begin
for i:=1 to 25 do
readln(m[i]);
end;
Function Mashin(var m:mas; S:string) : integer;
Var
F:text;
i:integer;
Begin
assign (F,'C:\Users\user\Desktop\Zadacha.txt');
reset (F);
for i:= 1 to 25 do 
readln (F, m[i]);
close (F);
For i := 1 To 25 Do begin
If m[i] = S then inc(result) ;
end;
For i := 1 To 25 Do begin
If m[i] =  S then m[i]:='Zil-130';
end;
For i := 1 To 25 Do begin
If m[i] =  S then m[i]:='Kamaz';
end;
Mashin:=Result;
End;
begin
k1:=Mashin(m,'Gaz-21');
k2:=Mashin(m,'Zil-130');
k3:=Mashin(m,'Kamaz');
writeln('k1=',k1,' k2=',k2,' k3=',k3);
k:=(Mashin(m,'Gaz-21')+Mashin(m,'Zil-130')+Mashin(m,'Kamaz'))/25;
writeln('k=',k:3:2);
readln;
end.
задача получилось, но бред какой-то=)))
Александр1993 вне форума Ответить с цитированием
Старый 06.06.2011, 17:08   #23
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Почему затуманен? Вы передаете в функцию строку, которую хотите найти, но в самой функции не обращаете на нее внимание и ищите 3 заранее написанные в ней строки. (при этом из-за того, что в цикле for забыли begin/end; 2 из них выполняются за циклом, но это не столь важно)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 06.06.2011, 17:09   #24
Александр1993
Пользователь
 
Регистрация: 29.05.2011
Сообщений: 20
По умолчанию

Код:
program n9;
type
mas=array[1..25] of string;
var
m:mas;
k1, k2 ,k3:real;
k:real;
procedure vvod(var m:mas);
var
i:integer;
begin
for i:=1 to 25 do
readln(m[i]);
end;
Function Mashin(var m:mas; S:string) : integer;
Var
F:text;
i:integer;
Begin
assign (F,'C:\Users\user\Desktop\Zadacha.txt');
reset (F);
for i:= 1 to 25 do 
readln (F, m[i]);
close (F);
For i := 1 To 25 Do begin
If m[i] = S then m[i]:='Gaz-21' ;
end;
For i := 1 To 25 Do begin
If m[i] =  S then m[i]:='Zil-130';
end;
For i := 1 To 25 Do begin
If m[i] =  S then m[i]:='Kamaz';
end;
Mashin:=Result;
End;
begin
k1:=Mashin(m,'Gaz-21');
k2:=Mashin(m,'Zil-130');
k3:=Mashin(m,'Kamaz');
writeln('k1=',k1,' k2=',k2,' k3=',k3);
k:=(Mashin(m,'Gaz-21')+Mashin(m,'Zil-130')+Mashin(m,'Kamaz'))/25;
writeln('k=',k:3:2);
readln;
end.
а так нет, почему?
Александр1993 вне форума Ответить с цитированием
Старый 06.06.2011, 17:13   #25
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Код:
assign (F,'C:\Users\user\Desktop\Zadacha.txt');
reset (F);
for i:= 1 to 25 do 
   readln (F, m[i]);
close (F);
for i := 1 to 25 do  
   if m[i] = S then inc(result) ;
Mashin:=Result;
begin end нужен только если в цикле больше 1 оператора (как у вас в 1 варианте сегодня).
т.е.
Код:
for i:=1 to n do
   a:=b; //выполнится n раз т.к. в цикле
c:=b; //выполнится только 1 раз т.к. не в цикле  
f:=a; //выполнится только 1 раз т.к. не в цикле
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 06.06.2011 в 17:18.
Alex11223 вне форума Ответить с цитированием
Старый 06.06.2011, 17:17   #26
Александр1993
Пользователь
 
Регистрация: 29.05.2011
Сообщений: 20
По умолчанию

Код:
вопросик еще:

procedure vvod(var m:mas);
var
i:integer;
begin
for i:=1 to 25 do
readln(m[i]);
end;
попробовал убрать ее из задачи, программа также исправно работает, получатеся она тут вообще не нужна?
Александр1993 вне форума Ответить с цитированием
Старый 06.06.2011, 17:24   #27
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну дык вы ее не используете. По идее основная программа должна так выглядеть.
Код:
begin
vvod(m);
k1:=Mashin(m,'Gaz-21');
k2:=Mashin(m,'Zil-130');
k3:=Mashin(m,'Kamaz');
writeln('k1=',k1,' k2=',k2,' k3=',k3);
k:=(Mashin(m,'Gaz-21')+Mashin(m,'Zil-130')+Mashin(m,'Kamaz'))/25;
writeln('k=',k:3:2);
readln;
end.
А функция так
Код:
Function Mashin(var m:mas; S:string) : integer;
Var
i:integer;
Begin
for i := 1 to 25 do  
   if m[i] = S then inc(result) ;
Mashin:=Result;
end;
И процедура видимо должна из файла читать, а не из пользователя)

Или как вариант можно в функции ее использовать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 06.06.2011 в 17:27.
Alex11223 вне форума Ответить с цитированием
Старый 06.06.2011, 17:27   #28
Александр1993
Пользователь
 
Регистрация: 29.05.2011
Сообщений: 20
По умолчанию

разобрался, спасибо!!!!!!!!!!!!!!
Александр1993 вне форума Ответить с цитированием
Старый 06.06.2011, 17:27   #29
Александр1993
Пользователь
 
Регистрация: 29.05.2011
Сообщений: 20
По умолчанию

Код:
program n9;
type
mas=array[1..25] of string;
var
m:mas;
k1, k2 ,k3:real;
k:real;
Function Mashin(var m:mas; S:string) : integer;
Var
F:text;
i:integer;
Begin
assign (F,'C:\Users\user\Desktop\Zadacha.txt');
reset (F);
for i:= 1 to 25 do 
readln (F, m[i]);
close (F);
For i := 1 To 25 Do begin
If m[i] = S then inc(result) ;
end;
Mashin:=Result;
End;
begin
k1:=Mashin(m,'Gaz-21');
k2:=Mashin(m,'Zil-130');
k3:=Mashin(m,'Kamaz');
writeln('k1=',k1,' k2=',k2,' k3=',k3);
k:=(Mashin(m,'Gaz-21')+Mashin(m,'Zil-130')+Mashin(m,'Kamaz'))/25;
writeln('k=',k:3:2);
readln;
end.
вот рабочая программа=)
Александр1993 вне форума Ответить с цитированием
Старый 06.06.2011, 17:31   #30
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Лучше так. Я это имел в виду "как вариант можно в функции ее использовать." И не забывайте код форматировать.
Код:
program n9;

type
  mas = array[1..25] of string;

var
  m: mas;
  k1, k2, k3: real;
  k: real;

procedure vvod(var m: mas);
var
  i: integer;
  F: text;
begin
  assign(F, 'C:\Users\user\Desktop\Zadacha.txt');
  reset(F);
  for i := 1 to 25 do 
    readln(F, m[i]);
  close(F); 
end;

function Mashin(var m: mas; S: string): integer;
var
  i: integer;
begin
  vvod(m);
  for i := 1 To 25 Do 
     if m[i] = S then inc(result);
   Mashin := Result;
end;

begin
  k1 := Mashin(m, 'Gaz-21');
  k2 := Mashin(m, 'Zil-130');
  k3 := Mashin(m, 'Kamaz');
  writeln('k1=', k1, ' k2=', k2, ' k3=', k3);
  k := (Mashin(m, 'Gaz-21') + Mashin(m, 'Zil-130') + Mashin(m, 'Kamaz')) / 25;
  writeln('k=', k:3:2);
  readln;
end.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 06.06.2011 в 17:35.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция.... begemotikdin Паскаль, Turbo Pascal, PascalABC.NET 3 19.08.2010 18:51
Функция MilenaR Помощь студентам 5 10.05.2010 20:43
Функция Kloun1 Паскаль, Turbo Pascal, PascalABC.NET 5 24.01.2009 19:56
Функция в VB asd48 Помощь студентам 1 25.12.2008 23:29
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50