IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Таблица, Помогите доделать таблицу
Camaro
сообщение 15.12.2010 14:15
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Дима

Репутация: -  0  +


Нужно чтобы при запуске программы выводилось следующие:
1) напишите кол-во студентов
2) напишите кол-во предметов
3) напишите имя первого ученика, потом второго и т.д.
4) напишите название первого предмета, второго и т.д.
5) напишите оценку первого ученика по первому предмету, второго ученика по первому предмету и т.д. и потом 1-го уч-ка по второму предмету и т.д.
6) и чтоб после этого появилась таблица с средним баллом учеников.
Я пытался сделать, но у меня немного не получилось:

Program ifit;
uses crt;
var sub:array[1...3] of string;
grades:array[1..3,1..3] of byte;
i,j,q:integer;
s:string;
begin
ClrScr;
for i:=1 to 3 do
begin
write<'kakoy predmet?'>;
readln<sub[i]>;
for j:=1 to 3 do
begin
repeat
write<'Student',j,' ocenka: '>;
readln<s>;
val<s,grades[i,j],q>;
if q <> 0 then writeln<'eto chislo'>;
until q=0
end;
end;
writeln;
wreteln<'predmet || student 1 || student 2 || student 3 || sredniy ball'>;
for i:=1 to 3 do
writeln<sub[i],' ',grades[i,1],' ',grades[i,2]
, ',grades[i,3],' ',
<grades[i,1]+grades[i,2]+grades[i,3]>/3:1:1>;
writeln<' Sredniy. bal ',<grades[1,1]+grades[2,1]+grades[3,1]>/3:1:1,' ',
<grades[1,2]+grades[2,2]+grades[3,2]>/3:1:1,' ',
<grades[1,3]+grades[2,3]+grades[3,3]>/3:1:1>;

end.


Сообщение отредактировано: Lapp - 15.12.2010 14:25
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Camaro
сообщение 19.12.2010 10:14
Сообщение #2





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Дима

Репутация: -  0  +


Блин я совсем нуб... Попытался ввести как ты написал, но я походу немного не разобрался куда всё это писать или что... в общем не получается ни фига(((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.12.2010 10:47
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Camaro @ 19.12.2010 10:14) *
я походу немного не разобрался куда всё это писать или что... в общем не получается ни фига(((

Ты хоть что-то пробовал? хоть раз?
я имею в виду кроме перепечатывания моего мессаджа на другой форум (да еще без тэгов)..

покажи любую попытку..

Добавлено через 9 мин.
Вот, посмотри внимательно на это. Это и есть то, что я хотел от тебя получить.
Тут эти три куска собраны вместе (плюс добавлен ввод студентов точно так же, как ввод предметов).
Ну и еще добавлены описания вспомогательной строки s и двух переменных циклов: i и j, да еще begin и end.

Посмотри и разберись, как оно работает. Разберешься - приходи, сделаем вывод таблицы.
const
MaxSubj=10;
MaxStud=100;

var
Subj: array [1..MaxSubj] of String;
Stud: array [1..MaxStud] of String;
Grad: array [1..MaxSubj,1..MaxStud] of byte;
i,j,nSubj,nStud: integer;
s: string;

begin
{ввод предметов}
WriteLn('Введите предметы, по одному на строке. Закончите пустой строкой.');
nSubj:=0;
repeat
ReadLn(s);
if s<>'' then begin
Inc(nSubj);
Subj[nSubj]:=s
end
until s='';

{ввод студентов}
WriteLn('Введите студентов, по одному на строке. Закончите пустой строкой.');
nStud:=0;
repeat
ReadLn(s);
if s<>'' then begin
Inc(nStud);
Subj[nStud]:=s
end
until s='';

{ввод оценок}
for i:=1 to nStud do begin
Write('Введите оценки студента ',Stud[i]);
for j:=1 to nSubj do begin
Write(Subj[j],': ');
ReadLn(Grad[j,i])
end
end;

{тут надо сделать вывод таблицы}

end.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Camaro
сообщение 19.12.2010 11:01
Сообщение #4





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Дима

Репутация: -  0  +


пока таблицы нет оно запускаться не будет?


Сообщение отредактировано: Camaro - 19.12.2010 12:01
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.12.2010 11:56
Сообщение #5


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Camaro @ 19.12.2010 11:01) *
пока таблицы нет оно запускаться не будет?

А проверить так сложно?..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Camaro
сообщение 19.12.2010 12:01
Сообщение #6





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Дима

Репутация: -  0  +


Цитата(Lapp @ 19.12.2010 11:56) *

А проверить так сложно?..

Я проверил, не работает, вот и спрашиваю это я еще раз тупанул или так и должно быть...
Я саму суть понял что мы делаем, но некоторых команд даже просто обозначения не знаю...

Сообщение отредактировано: Camaro - 19.12.2010 12:36
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 19.12.2010 12:06
Сообщение #7


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Camaro @ 19.12.2010 12:01) *
Я проверил, не работает, вот и спрашиваю это я еще раз тупанул или так и должно быть...

Говори напрямую, без намеков - всем будет проще.
Как именно не работает? на каком этапе (компиляция, запуск..)?
Какую ошибку выдает?
Какой компилятор у тебя?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Camaro
сообщение 20.12.2010 0:08
Сообщение #8





Группа: Пользователи
Сообщений: 8
Пол: Мужской
Реальное имя: Дима

Репутация: -  0  +


Цитата(Lapp @ 19.12.2010 12:06) *

Говори напрямую, без намеков - всем будет проще.
Как именно не работает? на каком этапе (компиляция, запуск..)?
Какую ошибку выдает?
Какой компилятор у тебя?

Всё работает просто надо было в конце поставить четыре end, почему то...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Typoi stydent   Таблица   15.12.2010 14:15
Lapp   Я просто причесал твою прогу не вникая (и исправил...   15.12.2010 14:32
TarasBer   Немного по поводу вывода таблицы: Вместо writeln(...   15.12.2010 14:34
Lapp   Camaro, количество предметов и студентов должно вв...   16.12.2010 1:09
Camaro   в паскале плохо разбираюсь, но можно попробовать. ...   16.12.2010 1:16
Lapp   я облажался с самого начала...Ты облажался, что не...   16.12.2010 1:43
Camaro   Блин я совсем нуб... Попытался ввести как ты напис...   19.12.2010 10:14
Lapp   я походу немного не разобрался куда всё это писать...   19.12.2010 10:47
Camaro   пока таблицы нет оно запускаться не будет?   19.12.2010 11:01
Lapp   пока таблицы нет оно запускаться не будет? А прове...   19.12.2010 11:56
Camaro   А проверить так сложно?.. Я проверил, не работае...   19.12.2010 12:01
Lapp   Я проверил, не работает, вот и спрашиваю это я еще...   19.12.2010 12:06
Camaro   Говори напрямую, без намеков - всем будет проще. ...   20.12.2010 0:08
Lapp   Всё работает просто надо было в конце поставить че...   20.12.2010 2:02
Camaro   Андрей огромное спасибо тебе за помощь, я сдал пас...   20.12.2010 8:49


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 14:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"