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

Напечатать список учеников класса с указанием для каждого ученика количества его однофамильцев - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать функцию, которая возвращает разность двух целых чисел, полученных в качестве аргумента http://www.cyberforum.ru/cpp-beginners/thread1225560.html
написать функцию, которая возвращает разность двух целых чисел, полученных в качестве аргумента.
C++ Считывать данные пока не встретится символ '|' обозначающий конец ввода Нужно считать данные пока не встретится символ '|' обозначающий конец ввода. double val; while(cin >> val) vec.push_back(val) После ввода '|' вектор оказывается пуст помогите решить данную проблему. http://www.cyberforum.ru/cpp-beginners/thread1225534.html
Построение сильноветвящегося дерева потомков человека C++
Всех приветствую. Сам текст задания: Нужно построить дерево потомков человека. Дерево является сильноветвящимся. Каждый узел содержит информацию о человеке (фамилия, имя, отчество, пол, количество детей) и ссылку на множество его потомков. Информация вводится с клавиатуры или текстового файла. Необходимо определить, сколько потомков каждого пола было у родоначальника династии. Для заданного...
C++ Метод поиска по массиву уникальных чисел за один проход
Подскажите какой-нибудь интересный метод поиска по массиву для данного случая: Есть массив {1, 1, 2, 3, 3}; Надо найти неповторяющееся число (в данном случае это 2) за один проход по циклу.
C++ Построение графика (Циссоиды) http://www.cyberforum.ru/cpp-beginners/thread1225508.html
У меня есть программа, для построения легких графиков, а как мне исправить, что бы он построил Циссоиду?... Помогите, пожалуйста... Т.Т #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <graphics.h> #include <string.h> #include <math.h> // Драйвер - VGA, Режим - 640x480x16
C++ Вывести подстроку, расположенную между первым и последним пробелом исходной строки Дана строка, содержащая по крайней мере один символ пробела. Вывести подстроку, расположенную между первым и последним пробелом исходной строки. Если строка содержит только один пробел, то вывести пустую строку. #include<iostream> #include<string> using namespace std; string func(string& str) { string::iterator begin = str.begin(), end = str.end(); подробнее

Показать сообщение отдельно
POVT
1 / 1 / 0
Регистрация: 10.07.2014
Сообщений: 239
10.07.2014, 15:41  [ТС]     Напечатать список учеников класса с указанием для каждого ученика количества его однофамильцев
C++
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
73
74
75
76
//---------------------------------------------------------------------------
 
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
 
void probel(char mass[255], int *js){  //пропускает пробелы в строке mass начиная с индекса js
        while(mass[*js]==' '){
          *js++;
        }
}
 
void sled(char mass[255], int *js){ //Пропускает все символы в строке mass начиная с индекса js до позиции запятой + 1 (т.е. начало следующей фамилии)
        while (mass[*js]!=','){
          *js++;
        }
        *js++;
}
 
void famil(char mass[255],char mass2[255], int *js){ //Считывает фамилию из mass (начиная с индекса js) в mass2
        int j = 0;
        for (j=0; j<strlen(mass2); j++);
        while(mass[*js]!=','){
          mass2[j]=mass[*js];
          *js++;
          j++;
        }
}
 
int poisk(char mass[255], char mass2[255]){ //Возвращает кол-во однофамильцев ученика mass2
        int js = 0;
        int j = 0;
        int res = 0;
        char buf[255];
        
        while (j<strlen(mass)){
          probel(mass, &j);
          famil(mass, buf, &j);
          probel(mass, &j);
          if (buf==mass2){
            res++;
          }
        }
        return res;
}
 
int main(int argc, char* argv[])
{
char mass[255];
char mass2[255];
char z[1]={','};
int i=0,m=0,vvod=1, js=0;
 
 
        printf("\n vvedite familiu i iniciali  \n");
        while (vvod==1){
          scanf("%s",&mass2);
          strcat(mass,mass2);
          strcat(mass,",");
          printf("\n Hotite eshe vvesti uchenika? Yes-1/no-2:\n");
          scanf("%i",&vvod);
        }
        printf("\n %s",mass);
 
        while(js<strlen(mass)){ //Главный супер-цикл
          famil(mass, mass2, &js);
          printf ("%s %i", mass2, poisk(mass, mass2));
          sled(mass, &js);
        }
 
        getch();
        return 0;
}
//---------------------------------------------------------------------------
Добавлено через 2 минуты
Вроде все правильно, логично. Но вылазит ошибка адреса
 
Текущее время: 11:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru