Часовой пояс: UTC + 3 часа




Куратор(ы):   Lord_of_Darkness   



Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 985 • Страница 43 из 50<  1 ... 40  41  42  43  44  45  46 ... 50  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Убедительная просьба ко всем, кто выкладывает исходники:
1. Обязательно пользуйтесь тэгом code (иначе очень трудно читать)
2. Старайтесь делать отступы

Если вы хотите чтобы вам помогли в написании программы, внятно излагайте задание!

Прежде чем задать вопрос, воспользуйтесь учебником


Возможно, что нужная вам программа уже написана, поэтому советую просмотреть список здесь и здесь

Отредактировано куратором: Lord_of_Darkness. Дата: 07.07.2006 19:36



Партнер
 

Member
Статус: Не в сети
Регистрация: 24.04.2008
Благодарю всех кто помогал!

В общем у меня теперь вопрос судя из задания, надо ли брать у первого месяца процент или нет то есть первый месяц будет 4000 или 4120 ?

Вот еще раз процитирую задание:
Цитата:
Ежемесячная стипендия студента составляет А руб., а расходы на проживание превышают стипендию и составляют В руб. в месяц. Рост цен ежемесячно увеличивает расходы на 3 %. Составьте программу расчета суммы денег, которую необходимо единовременно попросить у родителей, чтобы можно было прожить учебный год (10 месяцев), используя только эти деньги и стипендию.


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
SKY-LOST
Такие вопросы нужно задавать преподавателю :). Задание этот вопрос явно не оговаривает.


 

Member
Статус: Не в сети
Регистрация: 19.01.2009
Парни задача аналогична той которую я написал выше
Отличатеся только вывод результатов на экран
В этом случае нам надо вывести результат по столбцам, но до первого элемента содержащего "?" (знак вопроса)

Код:
program lab2_v7;
uses crt;
var G: array [1..3,1..3] of char;
i,j:integer;
begin
clrscr;
writeln('Obrabotka massiva');
writeln('Avtor....');
writeln('Vvod po strokam');
for i:=1 to 3 do
for j:=1 to 3 do
begin
write ('G[',i,',',j,']=');
readln(G[i,j]);
end;


до этого места так же все правильно, программа по строкам запрашивает символы (char)

как дальше быть?

Код:
writeln('Vivod po stolbcam');
for j:=1 to 3 do
for i:=1 to 3 do
if G[i,j]='?' then
readln;
end.


что здесь надо добавить? Подскажите пожалуйста)


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
fos1k
Дык пишете то же самое, что и в прошлый раз, только вместо вывода очередного элемента массива - write(G[i,j],' '); пишете
Код:
begin
   write(G[i,j],'  ');
   if G[i,j]='?' then goto Exit_2_cycle
end;

Метка Exit_2_cycle должна стоять после завершения обоих циклов.

В результате будут выведены элементы массива до первого встреченного элемента, равного ? (причем ? тоже будет выведен). Если нужно не выводить ?, то сначала пишется условие, а потом вывод.


 

Member
Статус: Не в сети
Регистрация: 25.01.2008
Откуда: СПб
Вообще считается, что использование меток - дурной тон, так как ведет к образованию кода типа "лапша". Лучше использовать следующие процедуры
Цитата:
EXIT выход из процедуры. BREAK выход их цикла. CONTINUE начать новую итерацию цикла

_________________
*AMD OverClan*


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
R73
Угу, дурной тон :).
Вот только для одного break'а выход происходит из одного цикла, а надо из двух циклов.
Можно оформить в виде процедуры, но это уже вопрос к автору - что им по заданию можно использовать.


 

Member
Статус: Не в сети
Регистрация: 19.01.2009
ну через процедуры тоже можно, но хочется как то попроще
да если использовать BREAK то программа останавливается на только в строчке, в которой присутствует "?"
и далее также прописывает остальные элементы массива
можно как то обьеденить два цикла под один BREAK ?
или как то его в 2-х местах поставить ??

Код:
program lab2_v7;
uses crt;
var G: array [1..3,1..3] of char;
i,j:integer;
begin
clrscr;
writeln('Obrabotka massiva');
writeln('Avtor');
writeln('Vvod po ctrokam');
for i:=1 to 3 do
for j:=1 to 3 do
begi
write ('G[',i,',',j,']=');
readln(G[i,j]);
end;
writeln('Vivod po stolbcam');
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
write(G[j,i],'  ');
if G[j,i]='?' then break;
end;
writeln;
end;
readln;
end.


 

Member
Статус: Не в сети
Регистрация: 25.01.2008
Откуда: СПб
В данном случае действительно лучше метка. А в серьезных программах делаешь отдельную процедуру вывода и прерываешь её через EXIT. maco абсолютно прав.
fos1k писал(а):
можно как то обьеденить два цикла под один BREAK ?

В Java можно, в паскале нет :(

_________________
*AMD OverClan*


 

Member
Статус: Не в сети
Регистрация: 25.01.2008
Откуда: СПб
anna_antoshik писал(а):
Составить программу вычисления и выдачи на печать суммы N элементов бесконечного числового ряда:у=(1-6)+(11-16)+(21-…

:?: Y=-5*N

_________________
*AMD OverClan*


 

при использовании модуля graph.tpu выдается ошибка
"The NTVDM CPU has encountered an illegal instruction."
моя версия связана с винчестером SATA т.к. около 2-х лет назад на винчестере с IDE все работало нормально!
как можно эту ошибку обойти???


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
JJSpace
У вас проблема с NT Virtual DOS Machine, а не с HDD. Т.е. вам не в эту тему.


 

maco писал(а):
JJSpace
У вас проблема с NT Virtual DOS Machine, а не с HDD. Т.е. вам не в эту тему.


а ссылку можете кинуть???


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
JJSpace
Могу :D - google.com


 

Огромное спасибо... плохо, что только гугл советуете!!! Отечественного производителя не цените.... ;)


 

Member
Статус: Не в сети
Регистрация: 19.01.2009
дан двухмерный массив размерности N х М, заполненный случайными числами. Определить, есть ли в данном массиве строка, в которой сумма элементов больше заданного числа Р

Код:
Program kontr;
uses crt;
var A:array [1..10,1..10] of real;
n,m,i,j: integer;
s,p:real;
begin
clrscr;
writeln('Vvedite razmernost massiva (NxM)');
write('N = ');
read(n);
write('M = ');
read(m);
writeln('Vvedite zadannoe chislo P');
write('P = ');
readln(P);
for i:=1 to n do
for j:=1 to m do
A[i,j]:=random(20);
writeln;
writeln('poluchenniy massiv:');
writeln;
for i:=1 to n do
begin
for j:=1 to m do
begin
write('   ',A[i,j],'  ');
end;
writeln;
end;
for i:=1 to n do
begin
s:=0;
s:=s+A[i,j];
if (s > p) then writeln (i,' stroka') else writeln('otcytctvyet');
end;
readln;
end.


выдает не совсем то что нужно((
что то тут не так в последнем цикле, но как сделать правильно? подскажите пожалуйста


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
Код:
s:=0;
--> for j:=1 to m do
s:=s+A[i,j];
if (s > p) then writeln (i,' stroka') else writeln('otcytctvyet');


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
anna_antoshik
if (i>1 and j>1) then A[i,j]:=A[i,j-1]+A[i-1,j] else A[i,j]:=1;


 

Member
Статус: Не в сети
Регистрация: 19.01.2009
maco
спасибо! а как сделать чтоб отображались и остальные строки в которых условие выполняется?
а то если в 3 и в 5 строке условие выполняется, то программа выдаст только 5 строку


 

Member
Статус: Не в сети
Регистрация: 04.10.2004
fos1k писал(а):
как сделать чтоб отображались и остальные строки в которых условие выполняется?
Если вы вставили приведенную строку в указанное место вашего кода, то на каждую строку у вас должен быть выдан ответ либо x stroka, либо otcytctvyet.
Если же вы еще что-то делали, то приводите код.


 

Привет. Помогите пожалуйста написать пару задачек на TurboPascal 7.0. Заранее спасибо за помощь.

1. Пусть вводится последовательность из целых чисел, оканчивающаяся нулём. Найти два наименьших числа последовательности. (числа как я поняла вводятся с клавиатуры через Enter).

2. Написать программу, которая преобразует строку содержащую значение календарной даты в форме мм/дд/гг (месяц/день/год) к форме "Месяц день. год". Например, строка "12/14/60" преобразуется к виду "Декабрь 14.1960" (предполагается, что все даты относятся к XX веку).


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 985 • Страница 43 из 50<  1 ... 40  41  42  43  44  45  46 ... 50  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 2


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

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan