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

2 задачи - C++

Восстановить пароль Регистрация
 
Licwin
2 / 3 / 0
Регистрация: 18.11.2010
Сообщений: 126
30.09.2011, 01:40     2 задачи #1
Помогите с решение задач, пожалуйста((

1.Дан список преподавателей, предмет и количество часов по предмету, ввести не менее 8 пре-подавателей, заполнить структуру, и вывести фамилии преподавателей с количеством часов меньше 200 и название предмета;

2.В строке вместо пробелов вставить запятую и пробел.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2011, 01:40     2 задачи
Посмотрите здесь:

C++ Задачи на С++
Задачи в VS C++ C++
3 задачи по С++ C++
задачи по С++ C++
C++ Задачи
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
30.09.2011, 06:21     2 задачи #2
Licwin, вот держи.
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
#include <stdio.h>
#include <string.h>
#include <memory.h>
char*  str_insert(char* str, char ch, char nch);
 
typedef struct _teachers {
   char name[32];
   char subject[32];
   int  hours;
} teachers;
 
int main () {
    char str[64];
    int i;
    teachers  tech[8] = {
           { "Maria Ivanovna", "Math",     180 },
           { "Vasy Pupkin",    "Phisica",    350 },
           { "Nina Usatova",   "Biology",   140 },
           { "Olga Kotova",    "History",    220 },
           { "Bob Plake",      "OBZ",         102 },
           { "Stiven Rams",    "English",    99  },
           { "Tany Ivanova",   "Russian",  170 },
           { "Mihail Uoll",    "Geometry",    330 },
    };
/*
    teachers t;
    scanf("%s", t.name);
    scanf("%s", t.subject);
    scanf("%d", &t.hours);
*/
         printf("teacher\t\tsubject\t\thours\n");
         for(i = 0; i < sizeof(tech)/sizeof(tech[0]); i++) {
                if(tech[i].hours < 200)
                     printf("%s\t%s\t\t%d\n", tech[i].name, tech[i].subject, tech[i].hours);
         }
 
         // вторая задача 
         putchar('\n');
         strcpy(str, "tomate orange apple vinograd potate");
         puts( str_insert(str, ' ', ',') );
   getchar();
   return 0;
}
 
// вставка символа в сроку
char*  str_insert(char* str, char ch, char nch) {
    int len;
    char* tmp = str;
    char* ptr = str;
    while( *ptr ) {
        if( *ptr == ch ) {
               len = ptr - str;
               memmove(str + (len + 1), str + len, strlen(str)-len+1);
               *ptr = nch;
                 ptr += 2;
                 continue;
         }
        *ptr++;
    }
    return tmp;
}
Licwin
2 / 3 / 0
Регистрация: 18.11.2010
Сообщений: 126
01.10.2011, 23:15  [ТС]     2 задачи #3
xAtom, Благодарю! а можно вопрос?)
поясните пожалуйста эти строчки с 1 задачи:
1.
C
1
char*  str_insert(char* str, char ch, char nch);
2.
C
1
for(i = 0; i < sizeof(tech)/sizeof(tech[0]); i++) {
sizeof что означает?
An1ka
65 / 70 / 2
Регистрация: 30.06.2011
Сообщений: 176
02.10.2011, 00:11     2 задачи #4
1. Объявление функции. Чтобы компилятор знал, что у нас есть такая функция, а ее определение может быть дальше по коду или вообще в другом файле
2. sizeof - получить размер(в байтах) переменной.
Yandex
Объявления
02.10.2011, 00:11     2 задачи
Ответ Создать тему
Опции темы

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