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

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

Восстановить пароль Регистрация
 
stalker.kz
0 / 0 / 0
Регистрация: 31.05.2011
Сообщений: 9
31.05.2011, 15:30     Сформировать файл "BOOK" из фамилий любимых писателей учеников класса (ученики по очереди вводят по три фамилиии писателей). Используя сформированный #1
Нужна помощь. Есть задача в Паскале, нужно перевести в Си. Вот задача и код.
Сформировать файл "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.
Заранее благодарю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2011, 15:30     Сформировать файл "BOOK" из фамилий любимых писателей учеников класса (ученики по очереди вводят по три фамилиии писателей). Используя сформированный
Посмотрите здесь:

Массив: Подсчет матрицы 3x3 по средствам класса используя оператор ">>" C++
C++ Сформировать двоичный файл из элементов, заданной в варианте структуры. Структура "Стадион"
C++ Ошибка экземпляра класса: отсутствие ";" перед идентификатором "o_scenes_1"
Перегрузка "opеrator =" и "{ }" для собственного класса C++
Сформировать двоичный файл из элементов, заданной структуры "Абитуриент" C++
Сформировать двоичный файл из элементов, заданных в варианте структуры. Структура "Человек" C++
C++ Создать класс "устройство ввода" и унаследовать от него три разных класса
Создание объекта класса сразу после его описания (между "}" и ";") C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 13:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru