0 / 0 / 0
Регистрация: 26.11.2018
Сообщений: 29
1

В файле исходных данных содержатся значения элементов 2-ух одномерных массивов разной размерности

26.11.2018, 18:49. Показов 2354. Ответов 12

Студворк — интернет-сервис помощи студентам
Ошибка в 23 строке не могу исправить... помогите пожалуйста




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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Program Massiv;
Uses {Подключаемый модуль для управления экраном}
crt;
Const
Flname='D:\Лабы\data.txt'; {путь к файлу с исходными данными}
Mmax=5;
Type
ARR= array[1..Mmax] of real;
Var
IVECT :ARR; {исходный массив}
Newvec:ARR; {новый сформированный массив}
M :integer; {значение величины}
i :integer; {индексная переменная}
Sum :real; {сумма}
Max :real; {максимальное значение}
f1 :text; {файловая переменная}
Nommax:integer; {номер максимального элемента с отрицательным знаком в массиве newvec}
Begin {подготовка к чтению из файла}
clrscr;
assign(f1,Flname);
reset(f1);
writeln('чтение из файла ',flname);
readln(f1,M); {чтение значеня M}
writeln('M=',M:4);
If (M<1) or (M>Mmax)
then
Begin
writeln('Неверное значение M'); {вывод сообщения об ошибке}
Close(f1);
readln;
exit; {закрытие файла}
end;
readln; {вывод значений массива из файла}
for i:=1 to Mmax do
begin
readln(f1,ivect[i]);
writeln('ivect[',i:2,']= ',ivect[i]:3:1);
end;
If (ivect[M]<>0) then begin {формирование нового массива Newvec}
For i:=1 to Mmax do
Begin
Newvec[i]:=IVECT[i]/IVECT[M];
writeln('NEWVEC[',i:2,']=',' ',Newvec[i]:8:4);
end;
readln; {суммирование М первых элементов нового массива newvec}
Sum:=Newvec[1];
For i:=2 to M do
Sum:=Sum+Newvec[i];
writeln('Sum=',sum:8:4);
readln; {определение положения наибольшего отрицательного элемента в массиве и его номера}
Max:=Newvec[1];
Nommax:=1;
For i:=2 to Mmax do
Begin
If (ABS(Newvec[i])<=Max) and (Newvec[i]<0)
then
Begin
Max:=Newvec[i];
Nommax:=i;
end;
end;
If Max>=0 then
Writeln('Отрицательных значений нет') else {печать значения максимального элемента отрицательных значений и его номера}
writeln('Max= ',Max:4:2,' Nommax= ',Nommax:2);
writeln;
end else begin
Writeln('Невозможно создать новый массив');
Writeln('Проверьте элемент ',M,' массива');
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2018, 18:49
Ответы с готовыми решениями:

Даны два одномерных массива разной размерности. Для каждого из заданных одномерных массивов выполнить: из
Даны два одномерных массива разной размерности. Для каждого из заданных одномерных массивов...

Заданы три одномерных массива разной размерности Для каждого из массивов определить повторяющиеся элементы
ЕСТЬ ОСНОВНОЙ КОД ПРОГРАММЫ,НО ВЫДАЕТ ОШИБКУ.Пожалуйста,помогите! Sub main() Dim A() As Double...

C# найти среднее арифметическое из максимальных значений элементов трех одномерных массивов разной длины
Очень нужна ваша помощь! Решить необходимо задачку. Найти среднее арифметическое из...

Определить, в каком из одномерных массивов А, В и С одинаковой размерности n наибольшее количество положительных элементов
Определить, в каком из одномерных массивов А, В и С одинаковой размерности n наибольшее количество...

12
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
26.11.2018, 19:16 2
Лучший ответ Сообщение было отмечено Елизавета_2000 как решение

Решение

Что-то поправил и забыл, но работает.
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Program Massiv;
Uses {Подключаемый модуль для управления экраном}
crt;
Const
Flname='data.txt'; {путь к файлу с исходными данными}
Mmax=5;
Type
ARR= array[1..Mmax] of real;
Var
IVECT :ARR; {исходный массив}
Newvec:ARR; {новый сформированный массив}
M :integer; {значение величины}
i :integer; {индексная переменная}
Sum :real; {сумма}
Max :real; {максимальное значение}
f1 :text; {файловая переменная}
Nommax:integer; {номер максимального элемента с отрицательным знаком в массиве newvec}
Begin {подготовка к чтению из файла}
clrscr;
assign(f1,Flname);
reset(f1);
writeln('чтение из файла ',flname);
read(f1,M); {чтение значеня M}
writeln('M=',M:4);
If (M<1) or (M>Mmax)
then
Begin
writeln('Неверное значение M'); {вывод сообщения об ошибке}
Close(f1);
readln;
exit; {закрытие файла}
end;
readln; {вывод значений массива из файла}
for i:=1 to M do
begin
read(f1,ivect[i]);
writeln('ivect[',i:2,']= ',ivect[i]:3:1);
end;
close(f1);
If (ivect[M]<>0) then begin {формирование нового массива Newvec}
For i:=1 to Mmax do
Begin
Newvec[i]:=IVECT[i]/IVECT[M];
writeln('NEWVEC[',i:2,']=',' ',Newvec[i]:8:4);
end;
readln; {суммирование М первых элементов нового массива newvec}
Sum:=Newvec[1];
For i:=2 to M do
Sum:=Sum+Newvec[i];
writeln('Sum=',sum:8:4);
readln; {определение положения наибольшего отрицательного элемента в массиве и его номера}
Max:=Newvec[1];
Nommax:=1;
For i:=2 to Mmax do
Begin
If (ABS(Newvec[i])<=Max) and (Newvec[i]<0)
then
Begin
Max:=Newvec[i];
Nommax:=i;
end;
end;
If Max>=0 then
Writeln('Отрицательных значений нет') else {печать значения максимального элемента отрицательных значений и его номера}
writeln('Max= ',Max:4:2,' Nommax= ',Nommax:2);
writeln;
end else begin
Writeln('Невозможно создать новый массив');
Writeln('Проверьте элемент ',M,' массива');
end;
readln
end.
1
Эксперт Pascal/Delphi
6807 / 4565 / 4818
Регистрация: 05.06.2014
Сообщений: 22,438
26.11.2018, 19:17 3
Файлы предоставьте.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
26.11.2018, 19:24 4
Там 1 файл, сначала размер массива от 1 до 5, потом 5 целых чисел, желательно и отрицательные.
0
0 / 0 / 0
Регистрация: 26.11.2018
Сообщений: 29
26.11.2018, 19:24  [ТС] 5
Выскакивает такая проблема теперь.
Миниатюры
В файле исходных данных содержатся значения элементов 2-ух одномерных массивов разной размерности  
0
0 / 0 / 0
Регистрация: 26.11.2018
Сообщений: 29
26.11.2018, 19:25  [ТС] 6
вот файл
Вложения
Тип файла: txt laba 3..txt (1.8 Кб, 2 просмотров)
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
26.11.2018, 19:29 7
Назовите файл data.txt и положите его в ту же паку что и программа.

Добавлено через 3 минуты
Или уж создайте в корне диска D папку лабы и положите файл туда.
0
0 / 0 / 0
Регистрация: 26.11.2018
Сообщений: 29
26.11.2018, 19:31  [ТС] 8
то же самое
Миниатюры
В файле исходных данных содержатся значения элементов 2-ух одномерных массивов разной размерности  
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
26.11.2018, 19:37 9
И какое имя файла написано в программе?
Вот положил я точно так же программу и файл в корень диска D, имя файла в программе
Pascal
1
Flname='data.txt';
и все работает.
0
0 / 0 / 0
Регистрация: 26.11.2018
Сообщений: 29
26.11.2018, 20:04  [ТС] 10
А можете скинуть скрин консоли?
Прото у меня походу либо криворукость, либо сломан паскали, либо то и то...

Добавлено через 1 минуту
Или ссылку на файл в корне диска D, я попробую сделать так же и если все получится буду вам очень благодарна...
(хотя я и так вам уже благодарна, за то что вы помогаете...)

Добавлено через 20 минут
я скидывала ниже
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
26.11.2018, 20:28 11
Лучший ответ Сообщение было отмечено Елизавета_2000 как решение

Решение

Распакуйте архив и запустите программу в папке.
Вложения
Тип файла: zip Лабы.zip (14.8 Кб, 2 просмотров)
1
0 / 0 / 0
Регистрация: 26.11.2018
Сообщений: 29
26.11.2018, 20:34  [ТС] 12
Огромное спасибо, все работает.
Если не секрет, что вы исправили в ней?
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
26.11.2018, 20:54 13
Я не помню, сравните построчно мой и свой коды.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2018, 20:54
Помогаю со студенческими работами здесь

Обработка массивов разной размерности.
Составить программу для решения задач. Найти суммы нечетных отрицательных элементов каждого...

Обработка массивов разной размерности
Даны три массива А, В и C. Сформировать массивы А1, В1 и С1, содержащие положительные нечетные...

Обработка массивов разной размерности
Найти произведения четных положительных элементов каж- дой строки матрицы A(3,3) и сохранить их в...

Обработка массивов разной размерности
Найти суммы нечетных отрицательных элементов каждой строки матрицы A(3,3) и сохранить их в массиве...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru