2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Помогите пожалуйста с програмой в паскале!работа со строками
Сообщение02.03.2009, 18:37 


02/03/09
50
В строке содержится изображение целых чисел,разделеных запятыми.После последнего числа поставлена точка. Создать масив с целых чисел.(ну типа мы вводим 1,2,3,4,567,5,4,7., а должно на экране ниже вывести 1 2 3 4 567 5 4 7) Нужно использывать процедуру Val и функцию Copy,но как незнаю

 Профиль  
                  
 
 
Сообщение02.03.2009, 19:32 
Заслуженный участник


11/05/08
32166
Код:
ss:='1,2,3,4,567,5,4,7.';
i:=0;
repeat
    k1:=Pos(',', ss);
    k2:=Pos('.', ss);
    if k1=0 then k1:=k2;
    inc(i);
    Val(Copy(ss, 1, k1-1), massiv[i], err);
    Delete(ss, 1, k1);
until k2<>0;

 Профиль  
                  
 
 
Сообщение02.03.2009, 19:58 


02/03/09
50
как мне код в прогу засунуть?и там то числа не константа,то я к примеру написал!у меня в проге еще присутствует ввод строки.Народ помогите пожалуйста на завтра нужно......

 Профиль  
                  
 
 
Сообщение02.03.2009, 22:21 
Заслуженный участник


11/05/08
32166
это неспортивно. Вам и так уж всё разжёвано и в рот положено (что, кстати, запрещено правилами форума, но я просто не знаю, как иначе внятно ответить на подобный вопрос). А Вы ещё хотите, чтоб Вам весь синтаксис языка изъяснили, вплоть до самых тривиальных деталей. Неспортивно.

 Профиль  
                  
 
 
Сообщение05.03.2009, 18:45 


04/03/09
91
sv2311
константы объявляются в разделе CONST... А в приведенном коде банальная операция присваивания...
Вначале нужно сделать консорльное приложение, в разделе VAR объявить bcgjkmpetvst переменные.
Приведенный код вставить в шаблоне между словами begin и end;
Чтобы вводить данные, нужно присваивать значение не так:
x:='что-то', а использовать хотя бы оператор read(x), или с переносом строки... можно подсказку добавить оператором writeln.
Ну а в конце вывести все на экран.
********
хотя я это сделал бы иначе и выводил строку на экран по ходу поиска запятых и точки

 Профиль  
                  
 
 полная прога
Сообщение09.03.2009, 23:44 


02/03/09
50
program sd;
uses crt;
var k1,k2,i,err:integer;
massiv:array[1..50] of integer;
ss:string;
begin
clrscr;
writeln('vvedite ryadok chesel bez probelov');readln(ss);
i:=0;
k2:=0;
repeat
k1:=Pos(',', ss);
k2:=Pos('.', ss);
if k1=0 then k1:=k2;
inc(i);
Val(Copy(ss, 1, k1-1), massiv[i], err);
Delete(ss, 1, k1);
write(massiv[i]);
until k1=k2;
readln;
end.

 Профиль  
                  
 
 
Сообщение09.03.2009, 23:51 
Заслуженный участник


11/05/08
32166
sv2311 в сообщении #193464 писал(а):
write(massiv[i]);

Или writeln(massiv[i]), или write(massiv[i], ' ').

И зачем Crt -- только для очистки экрана?

 Профиль  
                  
 
 
Сообщение10.03.2009, 00:38 


02/03/09
50
write выводит в строку элементы масива,а crt для очистки экрана и только!

 Профиль  
                  
 
 
Сообщение10.03.2009, 10:19 
Заслуженный участник


11/05/08
32166
sv2311 в сообщении #193489 писал(а):
write выводит в строку элементы масива,

, причём ничем не разделённые. И как Вы их собираетесь потом читать?...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group