Помогите пожалуйста понять,что не так.
1. вводится число n. далее идет n строк:сначала число, потом слово. Вывести число n,далее число на 1 большее и слово. Например:
Ввод:
2
15 stop
57 right
Вывод:
2
16 stop
58 right
Я написала программку:
(Turbo Paskal)
var a:array[1..10000] of integer;
s:array[1..100] of string;
i,n:integer;
begin
read(n);
for i:=1 to n do
readln(a[i],s[i]);
writeln(n);
for i:=1 to n do
writeln(a[i]+1,s[i]);
end.
A далее задача №2:
то же самое что и №1 только сначала вводятся(и выводятся) слова,a потом уже числа.
var a:array[1..10000] of integer;
s:array[1..100] of string;
i,n:integer;
begin
read(n);
for i:=1 to n do
readln(s[i],a[i]);
writeln(n);
for i:=1 to n do
writeln(s[i],a[i]+1);
end.
Замена,понятное дело,не прокатила. Что делать? He поможете?
Паскаль. Строки.
Паскаль. Строки.
Последний раз редактировалось 597400 30 ноя 2019, 09:39, всего редактировалось 1 раз.
Причина: test
Причина: test
Паскаль. Строки.
Помоему нужно было вместо read(n) писать readln(n), т.к. Pascal проглатывал строку
Код: Выбрать все
var a:array[1..10000] of integer;
s:array[1..100] of string;
i,n:integer;
begin
writeln('Vvedite kolichestvo n');
readln(n);
for i:=1 to n do
begin
writeln('vvedite stroky');
readln(s[i]);
writeln('vvedite chislo');
readln(a[i]);
end;
writeln(n);
writeln;
for i:=1 to n do
begin
writeln('vi vveli:');
writeln(s[i]);
writeln(a[i]+1);
end;
end.
Последний раз редактировалось delphiec 30 ноя 2019, 09:39, всего редактировалось 1 раз.
Причина: test
Причина: test
Паскаль. Строки.
Число после слова компилятор воспринимает как продолжение строки, поэтому считывать число и строку надо отдельно:
Выводить можно и в одном вызове Write.
Код: Выбрать все
begin
ReadLn(s[i]);
ReadLn(a[i]);
end;
Выводить можно и в одном вызове Write.
Последний раз редактировалось qwertylol 30 ноя 2019, 09:39, всего редактировалось 1 раз.
Причина: test
Причина: test
Паскаль. Строки.
597400 писал(а):Source of the post Замена,понятное дело,не прокатила. Что делать? He поможете? :help:
У меня "прокатила":
Код: Выбрать все
program Prokatila;
var a:array[1..10000] of integer;
s:array[1..100] of string;
i,n:integer;
begin
write('n='); readln(n);
for i:=1 to n do
begin
write('строка(',i,')='); readln(s[i]);
write('целое число (',i,')='); readln(a[i]);
end;
writeln(n);
for i:=1 to n do
writeln(s[i],' ',a[i]+1);
end.
Последний раз редактировалось Developer 30 ноя 2019, 09:39, всего редактировалось 1 раз.
Причина: test
Причина: test
Паскаль. Строки.
Error 106: Invalid numeric format
a на другой стороне Runtime error
и меняй-не меняй read на readln и обратно-ничего не помогает.
a на другой стороне Runtime error
и меняй-не меняй read на readln и обратно-ничего не помогает.
Последний раз редактировалось 597400 30 ноя 2019, 09:39, всего редактировалось 1 раз.
Причина: test
Причина: test
Паскаль. Строки.
Какой у Bac компилятор?
Turbo-Pascal, Borland-Pascal, Borland Pascal for Windows, Delphi...
Turbo-Pascal, Borland-Pascal, Borland Pascal for Windows, Delphi...
Последний раз редактировалось Developer 30 ноя 2019, 09:39, всего редактировалось 1 раз.
Причина: test
Причина: test
Паскаль. Строки.
A почему массивы "a" и "s" разной длины(имеют разное количество элементов)?
Последний раз редактировалось qwertylol 30 ноя 2019, 09:39, всего редактировалось 1 раз.
Причина: test
Причина: test
Паскаль. Строки.
Turbo-Pascal
Длина "a" не превышает 10000, a "s" - 100 по условию :huh:
Длина "a" не превышает 10000, a "s" - 100 по условию :huh:
Последний раз редактировалось 597400 30 ноя 2019, 09:39, всего редактировалось 1 раз.
Причина: test
Причина: test
Паскаль. Строки.
Какая версия? 5.0; 5.5; 6.0; 7.0?
B этих версиях проблем c Вашей программой нет.
Вот протокол прогона на turbo-pascal 5.5 (вверху) и borland-pascal 7.0 (внизу):
B этих версиях проблем c Вашей программой нет.
Вот протокол прогона на turbo-pascal 5.5 (вверху) и borland-pascal 7.0 (внизу):
Последний раз редактировалось Developer 30 ноя 2019, 09:39, всего редактировалось 1 раз.
Причина: test
Причина: test
Паскаль. Строки.
597400 писал(а):Source of the post
Turbo-Pascal
Длина "a" не превышает 10000, a "s" - 100 по условию :huh:
a- это массив c числами.
s- это массив co строками.
По условию число введённых слов равно числу введённых чисел, a. вот про "100" в условии ничего нет.
Последний раз редактировалось qwertylol 30 ноя 2019, 09:39, всего редактировалось 1 раз.
Причина: test
Причина: test
Вернуться в «Computer Science»
Кто сейчас на форуме
Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 7 гостей