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

Не могу понять как написать правильно. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки в С http://www.cyberforum.ru/cpp-beginners/thread74638.html
Добрый вечер всем! Подскажите пожалуйста как можно найти длину той части строки S которая содержит только символы из строки S1 (Что то похожее на стандартную функцию С++ StrSpn, но функция strspn возвращает индекс первого символа в строке string1, который не принадлежит множеству символов string2. Это значение эквивалентно длине начальной подстроки в строке string1, которая полностью состоит из...
C++ Перевод из 16-ной 10-ную систему счисления Народ помагите кто-нибудь написать програму на языке СИ для перевода числа из 16-ной в 10-ную систему счисления.Плиз оч прошу.)) Добавлено через 4 минуты Ну или хотябы подскажите с чего начать. http://www.cyberforum.ru/cpp-beginners/thread74636.html
C++ Написал но не уверен что правильно
1. Написать программу на Си для вычисления значений функции y (рис. 1) если Х изменяться от Xmin до Xmax с шагом dx. Х , Xmin, Xmax, dx вводиться с клавиатуры. Проверте правильно ли написал #include <stdio.h> #include <math.h> #include <conio.h> void main () { double x,y,Xmin,dx,Xmax,a;
Ребята, как найти моду ряда чисел?=) C++
Всем добрый вечер ;)...!!!..Уважаемые форумчане, помогите, пожайлуста, с нахождением моды ряда чисел(т.е. число, которое встречается среди остальных чаще всего)..Уже столько источников прочитала, а никаких идей по этому поводу(((
C++ Уничтожить стек http://www.cyberforum.ru/cpp-beginners/thread74625.html
Не могу сделать уничтожение стека, стек по шаблону делал: #include <vcl.h> #pragma hdrstop #include <iostream.h> #pragma argsused #include <iostream> #include <windows.h> using namespace std; class Stek {
C++ Поиск отрезка максимальной длины в массиве. Задача:Поиск отрезка максимальной длины в массиве. В одномерном массиве А из К элементов найти отрезок максимальной длины и вывести его на экран, состоящий из элементов данного массива по правилу:а1 = аn, а2 = an-1,a3= an-2,a4= an-3 ит.д. где а1-первый элемент,an-последний Решите пожалуйста...очень надо подробнее

Показать сообщение отдельно
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
15.12.2009, 05:48     Не могу понять как написать правильно.
поправил синтаксис, логику не трогал
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include <ctype.h>
#include <string.h>
#include <locale.h>
 
 
 
typedef struct
{
    char name [20];
    int group;
    int mark[5];
} STUDENT;
 
void fill(STUDENT array[]);
void sort(STUDENT a[]);
void show(STUDENT array[]);
 
int entcontrol(int a, int b);
void entcontrol2(char array[]);
 
int main()
{
    setlocale(LC_ALL, "Russian");
    STUDENT stud[10];
 
    fill(stud);
    sort(stud);
    show(stud);
 
    return 0;
}
 
 
void fill(STUDENT array[])
{
    char temp[20];
    for(int i=0; i<10; i++)
    {
        printf("Введите имя и инициалы: ");
        entcontrol2(temp);
        strcpy(array[i].name,temp);
        printf("\nВведите номер группы: ");
        array[i].group = entcontrol(1,100);
 
        for(int j=0; j<5; j++)
        {
            printf("\nВведите оценку %d: ", j);
            array[i].mark[j] = entcontrol(2,5);
        }
        printf("\n\n");
    }
}
 
void sort(STUDENT a[])
{
    for (int i=0; i<10; i++)
    {
        if (atoi(a[i].name) > atoi(a[i+1].name))
        {
            STUDENT p = a[i];
            a[i] = a[i+1];
            a[i+1] = p;
        }
    }
}
 
void show(STUDENT array[])
{
    bool bl=0;
    for(int i=0; i<10; i++)
    {
        for(int j=0; j<5; j++)
        {
            if(array[i].mark[j]==2) {printf("%s\n",array[i].name); bl=1;}
        }
    }
    if(!bl) printf("\nНет ни одного студента, имеющего хотя бы одну оценку 2.");
}
 
void entcontrol2(char array[])
{
    bool bl;
    int i,N;
    char str[20];
 
    do
    {
        scanf("%s",str);
        bl = 1;
        for(i=0;i<strlen(str);i++)
            if(!isalpha(str[i])&&!isspace(str[i]))
            {
                printf("Error: wrong name! Use only letters or space.\n");
                bl=0;
                break;
            }
    }
    while (!bl);
    array = str;
}
 
 
 
int entcontrol(int a, int b)
{
    bool bl;
    int i,N;
    char str[20];
 
    do
    {
        scanf("%s",str);
        bl = 1;
        for(i=0;i<strlen(str);i++)
            if(!isdigit(str[i]))
            {
                printf("Error: wrong value\n");
                bl=0;
                break;
            }
            N = atoi(str);
            if(N<a || N>b)
            {
                printf("Error: wrong value\n");
                bl = 0;
            }
    }
    while (!bl);
    return N;
}
 
Текущее время: 02:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru