Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2013, 01:11   #1
Мисс
Новичок
Джуниор
 
Регистрация: 19.03.2013
Сообщений: 3
По умолчанию char -> integer

Привет!
Я студентка первого курса и совсем не магу разобраться с задачей. Мне надо сделать массив с типом char а не integer как сейчас.

Цитата:
type matrix=array [1..n,1..n] of integer;
vector=array [1..m] of integer;
Я пробивала что-то с ord сделать, но у меня не получилось.
Люди добрее, ПОМОГИТЕ!
Спасибо заранее.

Код:
program A3M;
uses crt;
const n=8; m=n*(n+1)div 2;
type matrix=array [1..n,1..n] of integer;
     vector=array [1..m] of integer;
var b:vector;
    a:matrix;
    tkey:integer;
    c:char;
    i,j,k,x,l,o,z:integer;
    goon, found:boolean;
label 1,2,3,4,5,6;
begin;
2:clrscr;
writeln ('Lai generetu matricu nospiediet pogu 1, lai izietu no programmas - 2');
readln(z);
if z=1 then goto 3;
if z=2 then goto 4;

3:clrscr;
for i:=1 to n do
        begin
        for j:=1 to n do
        a[i,j]:=0;
        randomize;
        writeln ('Matrix A will be generated randomly');
        for i:=1 to n do
        for j:=1 to n do
        a[i,j]:=random(100);

        writeln ('Matrix A:');
        for i:=1 to n do
                begin
                for j:=1 to n do
                write(a[i,j]:3);
                writeln;
                end;
        k:=1;
        for i:=1 to n do
        for j:=1 to n do
                begin
                b[k]:=a[i,j];
                k:=k+1;
                end;
        writeln;
        writeln ('Vector B:');
        for k:=1 to m do
        write(b[k]:3);
        writeln;
        writeln('Searching process:');
        goon:=false;
        writeln ('Enter search key:');
        readln(tkey);
        for k:=1 to m do
        if b[k]=tkey then
                begin
                writeln(tkey,' in position ',k);
                goon:=true
                end;
        if not goon then
        writeln ('Unsuccesfull search');
end;
  writeln;
        writeln ('Vector B sorted:');

for k:=1 to m-1 do
    begin
    l:=k; x:=b[k];
    for o:=k+1 to m do
    if b[o]<x then
       begin
       l:=o; x:=b[o];
       end;
    b[l]:=b[k]; b[k]:=x;
    write(b[k]:3) ;

end;

writeln; writeln;
writeln ('Matrix A with new Vector B:');

k:=1;
for i:=1 to n do
for j:=1 to n do
    begin
    if k=m then goto 1;
    a[i,j]:=b[k];
    k:=k+1;
    end;
1:for i:=1 to n do
     begin
     for j:=1 to n do
     write(a[i,j]:3);
     writeln;
     end;
writeln; writeln;
writeln ('Lai atgrieztos sakuma izvelne nospiediet pogu 1, lai izietu no programmas - 2');
readln (z);
if z=1 then goto 2;
if z=2 then goto 4;

readkey;
4:end.

___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 19.03.2013 в 09:14.
Мисс вне форума Ответить с цитированием
Старый 19.03.2013, 07:45   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Мисс Посмотреть сообщение
Привет!
Я студентка первого курса и совсем не магу разобраться с задачей. Мне надо сделать массив с типом char а не integer как сейчас.
Если Вам нужно только это, тогда:
Код:
type matrix=array [1..n,1..n] of char;
     vector=array [1..m] of char;
(и код крайне желательно оформлять тегами CODE, а не QUOTE - значок # на панели инструментов)
Но бегло посмотрел по коду, - не уверен, что Вам нужно именно это.

В любом случае, в теме лучше всего формулировать именно ту задачу, которая Вас интересует.
Вы сказали только про изменение типа массива - на этот вопрос ответ и получили.
s-andriano вне форума Ответить с цитированием
Старый 19.03.2013, 15:20   #3
Мисс
Новичок
Джуниор
 
Регистрация: 19.03.2013
Сообщений: 3
По умолчанию

Цитата:
В любом случае, в теме лучше всего формулировать именно ту задачу, которая Вас интересует.
Вы сказали только про изменение типа массива - на этот вопрос ответ и получили.
Про оформление учту, простите.
И то что вы написали я и сама знаю. Просто я не совсем русская и у меня проблемы с объяснением. Извиняюсь. Мне нужно что бы программа работала с типом массива char. Там что-то с ASCII было связано но я это не очень понимаю. Короче - что надо вписать и куда что бы программа делала тоже самое только с char а не integer?
Мисс вне форума Ответить с цитированием
Старый 19.03.2013, 15:38   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Вы пытаетесь зайти с неправильной стороны.
Вы говорите; "Вот неправильная программа, нужно, чтобы она работала, как и сейчас, только...".
А это неконструктивный подход.
Нужно сначала сформулировать, что именно должна делать программа (даже если это трудно), а не пытаться опереться на заведомо неправильную программу.

Конкретно в Вашем случае я увидел, как массив a[i,j] инициализируется случайными числами в диапазоне от 0 до 99.
Это один из тех массивов, которые Вы хотите сделать символьными.
Но инициализация массивов кодами символов именно в таком диапазоне явно бессмысленна.
То есть даже если мы формально "отрегулируем" все типы, программа все равно будет делать не то, что нужно.
s-andriano вне форума Ответить с цитированием
Старый 19.03.2013, 17:04   #5
Мисс
Новичок
Джуниор
 
Регистрация: 19.03.2013
Сообщений: 3
По умолчанию

Ум... Ладно. Переведу задачу какая дана. Я её не придумала, мне надо сделать и всё. Не смотра на бессмысленность и другие факторы.

"Разработать алгоритм и программу которая составляет верхняя треугольная матрица с типом чар с 8 строками и 8 колоннам, которая выполняет следующее функции: генерирование и отображение на экране специальной матрицы, запись несингулярных элементов матрицы в вектор и его отображение на экране, поиске элемента Х который совпадает с элементом вектора, сортировка вектора в возрастающем порядке по методу Selection Sort и отображение на экране, отсортированный вектор записать обратно в матрицу и выдать на экран. "

Перевила как могла. За неправильную терминологию простите. Я на русском не учусь, так что плохо её знаю. У меня осталось только все переделать под чар, всё остальное сделано... Так кто-то может помочь?
Мисс вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из integer в string или char PavelDD Паскаль, Turbo Pascal, PascalABC.NET 9 17.02.2013 21:19
Задачи на integer, char Crabsid Помощь студентам 3 14.01.2011 21:46
из Char в Integer Onekey Общие вопросы Delphi 15 24.10.2010 20:54
Integer в Char? Zloy_Doomer Общие вопросы Delphi 2 21.02.2010 00:57
char в integer demonara Паскаль, Turbo Pascal, PascalABC.NET 7 18.09.2009 11:32