Форум программистов, компьютерный форум, киберфорум
Наши страницы
QBasic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
mr_Vladislav
0 / 0 / 0
Регистрация: 25.10.2013
Сообщений: 34
1

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

24.03.2014, 23:26. Просмотров 874. Ответов 1
Метки нет (Все метки)

Ниже расположено условие задачи.
Даны натуральное число m, целые числа http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{l},...,{a}_{lm} и целочисленная квадратная матрица порядка m. Строку с номером матрицы i назовем отмеченной, если http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{i}>0, и неотмеченной в противном случае.

а) Нужно все элементы, расположенные в отмеченных строках матрицы, преобразовать по правилу:
отрицательные элементы заменить на -1,
положительные — на +1,
а нулевые оставить без изменения.

б) Подсчитать число отрицательных элементов матрицы, расположенных в отмеченных строках.
Далее код программы который написан на паскале.
Кликните здесь для просмотра всего текста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
program Project2;   
Const 
m=3; 
Var 
a:array [1..m] of integer; 
b:array [1..m,1..m] of integer; 
i,j:integer; 
count:integer; 
begin 
count:=0; // Условие 2 
// Ввод данных 
Writeln('Введите ',m,' цифры'); 
For i:=1 to m do 
Readln(a[i]); 
Writeln('Введите матрицу порядка ',m,'x',m,' построчно'); 
For i:=1 to m do 
For j:=1 to m do 
Begin 
Readln(b[i,j]); 
{// Замена элементов по условию 1 
If a>0 Then 
Begin 
If b[i,j]>0 then b[i,j]:=1; 
If b[i,j]<0 then b[i,j]:=-1; 
End;} 
// Замена элементов по условию 2 
If a[i]>0 Then 
Begin 
If b[i,j]<0 then count:=count+1; 
End; 
End; 
// Вывод ответа по условию 1 
Writeln; 
Writeln('Полученая матрица: '); 
For i:=1 to m do 
Begin 
For j:=1 to m do 
Write(b[i,j]:4); 
Writeln; 
End; 
// Вывод ответа по условию 2 
Writeln('В матрице содаржится ',count,' отрицательных элементов'); 
Readln; 
end.

Переведите код с паскаля на QBasic и проверьте работоспособность кода.
Отредактируйте так, что-бы обе матрицы заполнялись рандомными числами. И что-бы на экран выводилась матрица по условию задачи ( то есть состоящая из 1, -1, и 0).
Если в коде допущены ошибки то исправьте их и укажете на ошибки.
Заранее спасибо и с меня плюсики тем кто поможет))
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2014, 23:26
Ответы с готовыми решениями:

Переведите, пожалуйста код с Паскаля на QBasic
uses crt; var s,sl,sc: string; i,k: integer; begin write('Введите текст '); readln(s);...

Переведите код с Pascal на QBasic
Program z1; Var S:String; k,p:integer; BEGIN Write ('введите исходную строку:');...

Пожалуйста, переведите на QBasic
uses crt; var n,i:integer; x,t,y:real; begin clrscr; write('n='); readln(n); repeat...

Переведите пожалуйста на QBASIC
Код C++ #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; int a, i,k,j,n=8, b; void...

Переведите пожалуйста на qbasic
Program Array134; Const max = 20; Type point = Record x,y:real; End; Var a:Array Of...

1
bormant
Модератор
Эксперт Pascal/DelphiЭксперт NIX
4597 / 2886 / 2247
Регистрация: 22.11.2013
Сообщений: 8,056
25.03.2014, 10:09 2
Лучший ответ Сообщение было отмечено mr_Vladislav как решение

Решение

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
INPUT "m="; m
DIM a(1 TO m) AS INTEGER, b(1 TO m, 1 TO m) AS INTEGER
FOR i = 1 TO m
  PRINT "A("; i; ")=";
  INPUT a(i)
NEXT
cnt = 0
FOR i = 1 TO m
  FOR j = 1 TO m
    PRINT "B("; i; ","; j; ")=";
    INPUT b(i, j)
    IF a(i) > 0 THEN
      IF b(i, j) < 0 THEN
        cnt = cnt + 1
        b(i, j) = -1
      ELSEIF b(i, j) > 0 THEN
        b(i, j) = 1
      END IF
    END IF
  NEXT
NEXT
PRINT "Результат:"
PRINT "A=", "B="
FOR i = 1 TO m
  PRINT a(i);
  FOR j = 1 TO m
    PRINT , b(i, j);
  NEXT
  PRINT
NEXT
PRINT "Отрицательных элементов в отмеченных строках: "; cnt
Добавлено через 9 минут
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
RANDOMIZE TIMER
INPUT "m="; m
DIM a(1 TO m) AS INTEGER, B(1 TO m, 1 TO m) AS INTEGER
cnt = 0
PRINT "A=  B="
FOR i = 1 TO m
  a(i) = RND * 11 - 5
  PRINT a(i);
  FOR j = 1 TO m
    B(i, j) = RND * 11 - 5
    PRINT USING "###"; B(i, j);
    IF a(i) > 0 THEN
      IF B(i, j) < 0 THEN
        cnt = cnt + 1
        B(i, j) = -1
      ELSEIF B(i, j) > 0 THEN
        B(i, j) = 1
      END IF
    END IF
  NEXT
  PRINT
NEXT
PRINT "Результат:"
PRINT "A B"
FOR i = 1 TO m
  IF a(i) > 0 THEN PRINT "*";  ELSE PRINT " ";
  FOR j = 1 TO m
    PRINT USING "###"; B(i, j);
  NEXT
  PRINT
NEXT
PRINT "Отрицательных элементов в отмеченных строках: "; cnt
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2014, 10:09

Переведите с Paskal на Qbasic, пожалуйста
Дана матрица N x M, состоящая из натуральных чисел. Расставить строки таким образом, чтобы элементы...

Переведите пожалуйста код с Паскаля на СИ++
Помогите перенести код на СИ++... До этого не приходилось работать с паскалем( program pokrytie;...

Пожалуйста переведите код с Паскаля
Дан массив целых чисел (n=10), заполненный случайными числами из промежутка . 1. удалить из него...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru