09.12.2013, 00:16 | #1 (permalink) |
Member
Регистрация: 22.08.2013
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Pascal, задача
Код:
Program Detali; Type detal=record nazvanie:string; kolichestvo:integer; stoimost:integer; end; Var B:array [1..100] of detal; i:integer; max:integer; Begin for i:=1 to 100 do with B[i] do Begin writeln('vvedite nazvanie'); readln(nazvanie); writeln('vvedite kolichestvo'); readln(kolichestvo); writeln('vvedite stoimost'); readln(stoimost); end; max:=0; for i:=1 to 100 do with B[i] do If B[i] > max then max:=i writeln(max); end. |
09.12.2013, 00:16 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
В данных топиках может находиться важная информация Задача Pascal ABC Pascal задача Задача. Записи Pascal Задача на Pascal Pascal. Задача. Помогите |
09.12.2013, 09:33 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Здесь:
у Вас Код:
If B[i] > max then max:=i Код:
If kolichestvo > max then max:=kolichestvo; 1. Вместо имени поля записи ("kolichestvo") поставлено имя записи ("B[i]"). 2. Переменной max следует присваивать количество деталей, а не значение переменной цикла. 3. Отсутствует разделитель ; в конце строки. Но это еще не всё. Для того, чтобы программа решала поставленную задачу, там следует ко-что изменить. Прежде всего: Вы не устанете вводить с клавиатуры данные по 100 видам деталей? Нет? Тогда - в добрый путь! Но я бы всё же ограничил номенклатурный перечень. Ниже дан исправленный вариант, исправления выделены красным: Код:
Program Detali; Type detal=record nazvanie:string; kolichestvo:integer; stoimost:integer; end; Var B:array [1..100] of detal; i,Imax,Nnom:integer; max:integer; Begin write('Kolichestvo vidov detaley: '); readln(Nnom); for i:=1 to Nnom do with B[i] do Begin writeln('vvedite nazvanie'); readln(nazvanie); writeln('vvedite kolichestvo'); readln(kolichestvo); writeln('vvedite stoimost'); readln(stoimost); end; max:=0; for i:=1 to Nnom do with B[i] do If kolichestvo > max then begin max:=kolichestvo; Imax:=i; end; writeln('Max:'); with B[Imax] do begin writeln(nazvanie); writeln(kolichestvo); writeln(stoimost); end; end. |
09.12.2013, 22:51 | #4 (permalink) |
Member
Регистрация: 22.08.2013
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо за помощь и ответ!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|