Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 7
Регистрация: 04.12.2017
Сообщений: 74
1

Вывести на экран для каждого наименования товара общую сумму заплаченных денег

04.03.2018, 10:10. Просмотров 398. Ответов 7
Метки нет (Все метки)

Pascal ABC Тема Записи Файл содержит информацию: название товара, приобретённое количество, стоимость за единицу. Вывести на экран для каждого наименования товара общую сумму заплаченных денег

Пример входного файла:

сметана 1 20
творог 2 10
сыр 3 40
сметана 4 30
творог 5 60
сыр 6 50

Пример выходного файла:

сметана 140
сыр 420
творог 320

Добавлено через 13 часов 53 минуты
Я чуть-чуть перепутал условие: результат вывести на экран, а не в файл
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2018, 10:10
Ответы с готовыми решениями:

Для каждого времени года вывести расход, а затем - общую сумму расхода
как написать правильно? #include <iostream> using namespace std; const int Seasons = 4; const...

Вывести на экран общую сумму баллов
Добрый вечер,подскажите как вывести на экран общую сумму (она складывается из нескольких столбцов)...

Определить общую сумму выплаченных по ведомости денег
5.70. В ведомости указана зарплата, выплаченная каждому из сотрудников фирмы за некото-рый месяц....

Определить общую сумму выплаченных по ведомости денег
В ведомости указана зарплата, выплаченная каждому из сотрудников фирмы за месяц. Определить общую...

7
1 / 1 / 7
Регистрация: 04.12.2017
Сообщений: 74
04.03.2018, 12:07  [ТС] 3
К сожалению, эта ссылка ничего не даст
0
Эксперт Pascal/Delphi
6447 / 4355 / 4664
Регистрация: 05.06.2014
Сообщений: 21,303
04.03.2018, 21:20 4
Цитата Сообщение от dim10102806 Посмотреть сообщение
ничего не даст
Если ничего не делать, то да. Ничего не даст.
0
1 / 1 / 7
Регистрация: 04.12.2017
Сообщений: 74
04.03.2018, 22:27  [ТС] 5
Ну я как бы пытался сделать, могу скинуть попытки

Добавлено через 3 минуты
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
type tovar=record 
name:string[15]; 
kol:integer; 
cena,cena_all:real; 
end; 
var a:array [1..15] of tovar; 
d,j,i,k,kod,n:integer; 
d1,sum:real; 
s,s1,s2:string; 
f:text; 
procedure Print(x:integer); 
var i:integer; 
begin 
writeln(); 
for i:=1 to x do 
 writeln(a[i].name, ' ', a[i].kol, ' ', a[i].cena, ' ', a[i].cena_all); 
 writeln(); 
end; 
begin 
assign(f, 't1.txt'); 
reset(f); 
k:=0; 
while not eof(f) do begin 
 readln (f,s); 
 k:=k+1; 
 n:=pos(' ',s); 
 delete(s,1,n); 
 n:=pos(' ',s); 
 s1:=copy(s,1,n-1); 
 val(s1,d,kod); 
 if (kod=0) then a[k].kol:=d; 
 delete(s,1,n); 
 n:=pos(' ',s); 
 s2:=copy(s,1,n-1); 
 val(s2,d1,kod); 
 if (kod=0) then a[i].cena:=d1; 
end; 
for j:=1 to k-1 do 
 for i:=1 to k-j do 
 if (a[i].name>a[i+1].name) then begin 
 s1:=a[i].name; 
 a[i].name:=a[i+1].name; 
 a[i+1].name:=s1; 
 d:=a[i].kol; 
 a[i].kol:=a[i+1].kol; 
 a[i+1].kol:=d; 
 d1:=a[i].cena; 
 a[i].cena:=a[i+1].cena; 
 a[i+1].cena:=d1; 
 end; 
 Print(k); 
for i:=1 to k do 
 a[i].cena_all:=a[i].kol*a[i].cena; 
 i:=1; 
while (i<=k) do begin 
 sum:=a[i].cena_all; 
 while (a[i].name=a[i+1].name) do begin //в этой строке выдает ошибку ''Индекс находился вне границ массива''
 sum:=sum+a[i+1].cena_all; 
 i:=i+1; 
 end; 
 writeln(a[i].name, ' ', sum); 
 i:=i+1; 
end; 
close(f); 
end.
0
Эксперт Pascal/Delphi
6447 / 4355 / 4664
Регистрация: 05.06.2014
Сообщений: 21,303
05.03.2018, 10:02 6
Цитата Сообщение от dim10102806 Посмотреть сообщение
assign(f, 't1.txt');
Файл приложите, пожалуйста.
0
1 / 1 / 7
Регистрация: 04.12.2017
Сообщений: 74
05.03.2018, 10:51  [ТС] 7
t1.txt
0
1 / 1 / 7
Регистрация: 04.12.2017
Сообщений: 74
05.03.2018, 12:33  [ТС] 8
Я нашел ошибки и решил задачу

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
type tovar=record
name:string[15];
kol:integer;
cena,cena_all:real;
end;
var a:array [1..15] of tovar;
d,j,i,k,kod,n:integer;
d1,sum:real;
s,s1:string;
f:text;
procedure Print(x:integer);
var i:integer;
begin
for i:=1 to x do
  writeln(a[i].name, ' ', a[i].kol, ' ', a[i].cena, ' ', a[i].cena_all);
  writeln();
end;
begin
assign(f, 't1.txt');
reset(f);
k:=0;
while not eof(f) do begin
  readln (f,s);
  k:=k+1;
  n:=pos(' ',s);
  a[k].name:=copy(s,1,n-1);
  delete(s,1,n);
  n:=pos(' ',s);
  s1:=copy(s,1,n-1);
  val(s1,a[k].kol,kod);
  if (kod=0) then delete(s,1,n);
  val(s,a[k].cena,kod);
end;
for j:=1 to k-1 do
  for i:=1 to k-j do
    if (a[i].name>a[i+1].name) then begin
      s1:=a[i].name;
      a[i].name:=a[i+1].name;
      a[i+1].name:=s1;
      d:=a[i].kol;
      a[i].kol:=a[i+1].kol;
      a[i+1].kol:=d;
      d1:=a[i].cena;
      a[i].cena:=a[i+1].cena;
      a[i+1].cena:=d1;
    end;
    Print(k);
for i:=1 to k do
  a[i].cena_all:=a[i].kol*a[i].cena;
  i:=1;
while (i<=k) do begin
  sum:=a[i].cena_all;
  while (a[i].name=a[i+1].name) do begin
    sum:=sum+a[i+1].cena_all;
    i:=i+1;
  end;
  writeln(a[i].name, ' ', sum);
  i:=i+1;
end;
close(f);
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.03.2018, 12:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Определить общую сумму выплаченных по ведомости денег...
у меня пересдача...кто может, помогите, пожалуйста!!!!!!!! тут 2 задачи...через прогр. дэлфи..,...

Определить общую сумму выплаченных по ведомости денег
В ведомости указана зарплпта , выплаченная кождому из сотрудников фирмы за месяц.Определить общую...

Определить общую сумму выплаченных по ведомости денег
помогите пожалуйста, вот три задачи: 1.Вывести &quot;столбиком&quot; следующие числа : 3,2,3,2,3,3.....,3,9....

Определить общую сумму выплаченных по ведомости денег
Указана зарплата, выплаченная каждому из сотрудников фирмы за МЕСЯЦ. Определить общую сумму...


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

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

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