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

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

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

> Квадратная матрица
DZZRtt
сообщение 7.12.2006 10:41
Сообщение #1


Новичок
*

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

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


Задача следующая: дана квадр матрица наити количество нулей, положительных и отрицательных элементов .
Задачу я решил самостоятельно, понемногоу начинаю везжать в простенькое программирование smile.gif
теперь просто для себя хочу сделать так чтобы можно было каждое из этих действий выполнять отдельно.

Например при нажатии клавиши 1 - вычислялось количество нулей
2- отрицательных
3-положительных чиселю
Как это можно реализовать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 7)
Ozzя
сообщение 7.12.2006 11:13
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

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


var
ch: char;
...

ch:=readkey;
case ch of
'1' : {действие 1-е}
'2' : {действие 2-е}
'3' : {действие 3-е}
end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
DZZRtt
сообщение 7.12.2006 12:26
Сообщение #3


Новичок
*

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

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


Спасибо!!!. Все получилось.
И еще один вопросик как сделать тоже самое, но так чтобы не нужно было запускать программу 3 раза.
Т.е. для одной и той же матрицы выполнялись все три действия?

Сообщение отредактировано: DZZRtt - 7.12.2006 12:37
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 7.12.2006 12:35
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

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


Необязательно.
Например,
var
ch: char;
...

ch:=readkey;
case ch of
'1' :
begin
kolvo_nuley:=0;
for i:=1 to n do
for j:=1 to n do
if a[i]=0 then inc(kolvo_nuley);
end;
'2' : {действие 2-е}
'3' : {действие 3-е}
end;

Либо оформить процедурой

Сообщение отредактировано: Ozzя - 7.12.2006 12:37
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 7.12.2006 12:43
Сообщение #5


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


добавить цикл, выход из которого осуществляется при нажатии какой-то клавиши (0, например).
а до этого сколько угодно раз делай п. 1,2,3


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
DZZRtt
сообщение 7.12.2006 12:44
Сообщение #6


Новичок
*

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

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


А есть возможность выполнять все 3 действия не запуская програму каждый раз по новой?
Я матрицу генерю случайную и не получается проверить считается ли количество остальных элементов
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 7.12.2006 12:47
Сообщение #7


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

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


var
ch: char;
...

ch:=readkey;
case ch of
'1' :
begin
kolvo_nuley:=0;
for i:=1 to n do
for j:=1 to n do
if a[i]=0 then inc(kolvo_nuley);
end;
'2' :
begin
kolvo_pol:=0;
for i:=1 to n do
for j:=1 to n do
if a[i]>0 then inc(kolvo_pol);
end;
'3' :
begin
kolvo_otr:=0;
for i:=1 to n do
for j:=1 to n do
if a[i]<0 then inc(kolvo_otr);
end;
end;


Сообщение отредактировано: Ozzя - 7.12.2006 12:47
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bokul
сообщение 8.12.2006 5:10
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

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


Цитата
А есть возможность выполнять все 3 действия не запуская програму каждый раз по новой?

Вот программная реализация того, что сказала мисс_граффити, только для выхода надо нажать Esc:

uses crt;
var ch:char;
begin
repeat
ch:=readkey;
clrscr;
case ch of
'1': writeln('First procedure');
'2': writeln('Second procedure');
'3': writeln('Third procedure');
end;
until ch=#27;
end.


Цитата
Я матрицу генерю случайную и не получается проверить считается ли количество остальных элементов

Если ты используешь random без randomize, то будешь получать одинаковую матрицу при каждом запуске. Удобно при отладке прог.

Сообщение отредактировано: Bokul - 8.12.2006 5:12


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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