Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
stalker.kz
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 9
#1

Сформировать файл "BOOK" из фамилий любимых писателей учеников класса (ученики по очереди вводят по три фамилиии писателей). Используя сформированный - C++

31.05.2011, 15:30. Просмотров 435. Ответов 0
Метки нет (Все метки)

Нужна помощь. Есть задача в Паскале, нужно перевести в Си. Вот задача и код.
Сформировать файл "BOOK" из фамилий любимых писателей учеников класса (ученики по очереди вводят по три фамилиии писателей). Используя сформированный файл, напечатать фамилии пяти наиболее популярных писателей.
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
uses crt;
var f:text;
    a:array[1..100] of string[20];{массив фамилий}
    b:array[1..100] of integer;{массив встречаемости}
    n,i,j,k:integer;
    x:string[20];
begin
clrscr;
assign(f,'book.txt');
rewrite(f);
write('Сколько учеников n=');
readln(n);
for i:=1 to n do
 begin
  writeln('Ученик ',i);
  for j:=1 to 3 do
   begin
    write('Писатель ',j,': ');
    readln(x);
    writeln(f,x);
   end;
 end;
close(f);
reset(f);
n:=1;
readln(f,a[1]);{читаем первую фамилию}
b[1]:=1;{1раз}
while not eof(f) do
 begin
  readln(f,x);{читаем остальные}
  {проверям были уже или нет}
  k:=0;
  i:=1;
  while(i<=n)and(k=0) do
  if x=a[i] then{если было}
   begin
    k:=i;{номер}
    b[k]:=b[k]+1;{+1}
   end
  else i:=i+1;
  if k=0 then{если не было}
   begin
    n:=n+1;{увеличим массив}
    a[n]:=x;{запишем}
   end;
 end;
close(f);
for i:=1 to n-1 do{отсортируем массивы по убыванию встречаемости}
for j:=i+1 to n do
if b[i]<b[j] then
 begin
  k:=b[i];
  b[i]:=b[j];
  b[j]:=k;
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
if n<5 then writeln('Названы менее 5 писателей');
writeln('Наиболее любимые писатели:');
if n<5 then k:=n else k:=5;
for i:=1 to k do
writeln(a[i]);
readln
end.
Заранее благодарю.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2011, 15:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сформировать файл "BOOK" из фамилий любимых писателей учеников класса (ученики по очереди вводят по три фамилиии писателей). Используя сформированный (C++):

Сформировать файл "BOOK" из фамилий любимых писателей учеников класса (ученики по очереди вводят по три фамилиии писателей). Используя сформированный - Turbo Pascal
Помогите пожалуйста. Вот задача: Сформировать файл &quot;BOOK&quot; из фамилий любимых писателей учеников класса (ученики по очереди вводят по...

Сформировать файл "BOOK.txt" из фамилий любимых писателей учеников класса - C#
Сформировать файл &quot;D:\BOOK.txt&quot; из фамилий любимых писателей учеников класса (ученики по очереди вводят по три фамилии писателей)....

Составьте программу,осуществляющую вывод фамилий и первых букв имени всех учеников 9"А" - Turbo Pascal
Составьте программу,осуществляющую вывод фамилий и первых букв имени всех учеников 9&quot;А&quot; у которыйх совпадают имя и фамилия. Заранее...

Упорядочить массив, сформированный специальным образом из A и B, по возрастанию, используя метод "пузырька" - C (СИ)
Здравствуйте, помогите откорректировать программу на си, у меня получилось что-то страшное и не логичное....

Сформировать базу знаний "Ученики и тренеры" - Prolog
Сформировать базу знаний. Описать базу знаний, содержащую факты: - Петр – тренер Марии и Дмитрия, - Игорь – тренер Елены, - Сергей...

Создать тип "Book" и в нём сделать пункты "автор" и "количество страниц" - Visual Basic
нужна задача на наследование, т. е. создать родителя и наследника. создать тип Book (родитель) и в нём сделать пункты автор и кол-во...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2011, 15:30
Привет! Вот еще темы с ответами:

Заменить символы "1", "2", "3" словами "один", "два", "три" - Turbo Pascal
Дана строка символов. Заменить символы &quot;1&quot;, &quot;2&quot;, &quot;3&quot; словами &quot;один&quot;, &quot;два&quot;, &quot;три&quot;. Оформить в виде процедуры или...

Сформировать текстовый файл, в первой строке которого одна литера "1", во второй - две литеры "2" - C (СИ)
Написать программу формирующую текстовый файл, в первой строке которого одна литера &quot;1&quot;, во второй - две литеры &quot;2&quot;, ... в девятой - девять...

Из исходного текста сформировать новый файл, в котором знаки + и – заменить словами "плюс" и "минус" - C (СИ)
Суть задачи состоит вот в чем - Ввести с клавиатуры или из файла текст содержащий знаки + и -. Из исходного текста сформировать новый файл,...

Запись "Анкета школьника", вывести фамилии трёх лучших учеников данного класса - Turbo Pascal
Анкета школьника включает в себя Ф. И. О., номер школы, номер класса и оцен- ки по пяти предметам. Вывести фамилии трёх лучших учеников...


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

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

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