Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Программа должна сформировать вектор, элементами которого являются наибольшие элементы всех матриц Решить задачу, используя функцию. Дана квадратная целочисленная матрица А порядка n. Выделяя на главной диагонали последовательно по одному элементу Aii, можно получить n матриц, ограниченных элементами A11 и Аii. Программа должна сформировать вектор, элементами которого являются наибольшие элементы всех таких матриц. Функция должна возвращать значение наибольшего элемента в матрице... https://www.cyberforum.ru/ cpp-beginners/ thread996654.html Классы точка, круг, элипс C++
Добрый вечер) начну с задания: Создать класс точка, имеющая координаты. Класс эллипсов, и класс кругов. Определить иерархию типов. Определить функции печати, конструкторы, деструкторы, вычисление площади. Вот что вышло у меня. #include <iostream> using namespace std; class Point{ public:
C++ Круги в окружности https://www.cyberforum.ru/ cpp-beginners/ thread996649.html
Описать переменную круг, в которой содержатся все данные для построения круга в декартовой системе координат. а) Определить координаты центра, радиус, площадь и длину окружности круга минимального радиуса, который будет содер жать внутри себя все заданные круги. б) Рассматривая окружности попарно, определить координаты ты точек пересечения или точки касания для каждой пары, либо вывести...
C++ Использование указателя на функцию void treug (float a, float b, float c, int*p) { p=0; if ((a+b>c) || (b+c>a) || (c+a>b)) { p=1; printf ("Treug. sush."); return p; } https://www.cyberforum.ru/ cpp-beginners/ thread996642.html
Отыскать все последовательности цифр в тексте и максимальную по длине выделить другим цветом C++
Суть задания состоит в том , что програма должна : загрузить текст из файла в програму и вывести его на екран , потом отыскать все последовательности цифр в тексте и максимальную (может быть несколько с максимальной длинной) выделить другим цветом .Кроме этого в програме должны быть использованы структуры. Мучусь уже третий день, завтра надо здавать. Очень прошу , помогите. Вот то что смог...
C++ вычислить параметрический несобственный интеграл Добрый день. Я в теме https://www.cyberforum.ru/numerical-methods/thread988806.html спрашивал как со стороны математики вычислить интеграл: \int_{x_0}^{\infty} (e^{-4x}(32/x+32/x^2+16/x^3+4/x^4)/\sqrt{1-l^2/a^2x^2+2(1+1/x)e^{-2x}}) dx Разобрался, преобразовал интеграл, разбил на два, но к сожалению, созданная программа не верно выдаёт ответ. А именно, то что выдаётся в ответе:... https://www.cyberforum.ru/ cpp-beginners/ thread996624.html
C++ Долой Иф'ы Здравствуйте. В приведённом ниже коде преподаватель сказал сделать его без "ифов", изменив саму архитектуру. Потратил много времени на переделку, но в итоге я всё равно прихожу к помощи if. Пробовал спрашивать знакомых, они тоже не могут придумать что-то, что позволит избавиться от if. Подскажите пожалуйста решение этой задачи. void Interpretator::process() { for(int i = 0; i <... https://www.cyberforum.ru/ cpp-beginners/ thread996620.html C++ Пирамида из символов
Написала программку,вот что она делает: * ** *** **** ***** ****** ******* Как сделать чтобы количество этих строк задавалось пользователем?:gsmile: #include <iostream>
C++ Конструирование класса, моделирующего работу устройства https://www.cyberforum.ru/ cpp-beginners/ thread996611.html
Дорогие форумчане, помогите разобраться с задачей. Необходимо: "1. Разработать модель работы электронного секундомера, состоящую из 3-4 свойств, наиболее существенных для описания поведения устройства, и 3-6 методов, моделирующих поведение объекта. 2. Определить набор допустимых значений для каждого свойства 3. Выявить все допустимые состояния объекта данного класса и представить их в виде...
C++ Построить вещественную матрицу по образцу https://www.cyberforum.ru/ cpp-beginners/ thread996599.html
Помогите пожалуйста!!!! Как для заданного значения n (константа) построить вещественную матрицу X nxn: 1 1 1..........1 1 1 1 2 2 2.......2 2 1 1 2 3 3 ......3 2 1 1 2 3 4 ...4 3 2 1 ......................... 1 2 2.............2 1 1 1 1 1.............1
Программа для подсчёта символов, строк и слов C++
Привет! Недавно начал изучать C++, пишу программу для подсчёта символов, слов и строк данных введённых с клавиатуры, но она почему-то не считает слова (nw). Вот листинг #include "stdafx.h" #include "conio.h" #include "stdio.h" #define no 0 #define yes 1 #define eof -1 int _tmain(int argc, _TCHAR* argv)
C++ Рассчитать сумму модулей элементов массива Помогите, пожалуйста, с таким заданием, хотя бы наводки дайте. Ввести одномерный статический массив из k чисел.Найти сумму модулей элементов массива, расположенных после последнего нулевого элемента. https://www.cyberforum.ru/ cpp-beginners/ thread996582.html
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 17
0

Не получается считать строку с gets - C++ - Ответ 5281076

03.11.2013, 22:31. Показов 738. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется (казалось бы доведенная до ума более или менее) программа:

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
134
135
136
137
138
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "string.h"
#include "stdafx.h"
#include <iostream>
 
 
struct word  //пользовательский тип с атрибутами слова в строке - координаты начала и конца и длина
{
    int b,e,l;
};
 
float dist(float a[],int i,int r) //функция вычисления расстояния
{
    float dst=0;
       
    int end=r;
    
    for(int j=0;j<end ;j++)
        dst+=fabs(a[i]-a[j]);
    return dst;
}
 
 
int main() 
{
    
    float* a;    //объявление указателя на float
    int n;       //его размер
    float minr=0;  //минимум расстояния
    int minc=0;    //индекс самого близкого к соседям элемента
 
    char st[359];   //исходная строка
    int k=1;        //число слов в строке,изначально с учетом последнего слова
    int* wrds;      //указатель на int
    word* arw;      //указатель на пользовательский тип
//Задание 1. Поиск элемента с наименьшим расстоянием до других
    printf("Enter number of array elms: ");  //приглашение на ввод количества элементов массива
    scanf_s("%d",  &n);
    printf("\n");                            //считывание с клавиатуры количества элементов
    a = new float[n];                        //динамическое выделение  памяти для массива n элементов
    printf("Fill your array\n");             //заполнение массива
    for(int i=0;i<n;i++)
        scanf_s("%f", &a[i]);
 
    int p=0;
    for(int i=0;i<n;i++)
        if(dist(a,i,n)<dist(a,p,n))
        {
            minr=dist(a,i,n);
            minc=i;
            p=i;
        }
 
    printf("The element # %d has the least distance. The distance is %5.2f\n", minc, minr);
    delete[] a;  //удаление массива
    
//Задание 2. Вывод слов строки по увеличению количества букв
    printf("Enter your string: ");             //приглашение на ввод строки  
    gets_s(st);                                 //считывание с клавиатуры строки
    printf("\n");                                                  
    printf("String %s\n ",st);
    
    while(strlen(st)>200)                      //защита от дураков
    {
        printf(" You have broken my program \n that was awfully nice of you,try again \n");
        gets_s(st);
    }
                                        
    for(unsigned int i=0;i<strlen(st);i++)       //узнаем число слов
    {
        if (st[i]==' ') k++;
    }
    printf("Words %d\n",k);
    wrds = new int[k-1];    //выделяем память под массив
                            //формируем массив, элементы которого - координаты пробелов
    int j=0;
    while(j<k-1)
    {
        for(unsigned int i=0;i<strlen(st);i++)
            if (st[i]==' ')
            {
                wrds[j]=i;
                j++;        
            }
    }
    arw = new word[k];    //массив структур с атрибутами слов
 
    arw[0].b=0;           //заполняем  массив, 1й и последний элементы отдельно, остальные в цикле
    arw[0].e=wrds[0]-1;
    arw[0].l=wrds[0];
 
    arw[k-1].b=wrds[k-2]+1;
    arw[k-1].e=strlen(st);
    arw[k-1].l=strlen(st)-wrds[k-2]-1;
 
    j=0;
    for(int i=1;i<k-1;i++)
    {
        arw[i].b=wrds[j]+1;
        arw[i].e=wrds[j+1]-1;
        arw[i].l=arw[i].e-arw[i].b;
        j++;
    }
    
 
    word buf={0,0,0};      //сортируем массив по убыванию длины слова
    for(int i=0;i<k;i++)
            for( int j=0;j<k;j++)
                if(arw[i].l>arw[j].l)
                {
                    buf.b=arw[i].b;
                    buf.e=arw[i].e;
                    buf.l=arw[i].l;
 
                    arw[i].b=arw[j].b;
                    arw[i].e=arw[j].e;
                    arw[i].l=arw[j].l;
 
                    arw[j].b=buf.b;
                    arw[j].e=buf.e;
                    arw[j].l=buf.l;
                }
 
    printf("Words sorted by decreasing order: \n");  //вывод слов строки по убыванию длины
    for(int i=0;i<k;i++)
    {
        for(int j=arw[i].b;j<=arw[i].e;j++)
            printf("%c", st[j]);
        printf("\n");
    }
 
    delete[] wrds;
    delete[] arw;
    return 0;
 
}
Однако возникает проблема: не работает вторая ее часть, как исполнение доходит до gets, строка не считывается и даже не позволяется ее ввести. Если закомментить первую часть, то часть вторая работает верно. Даже и не знаю, в чем тут дело. Может быть что-то неправильное я творю с динамической памятью в первой части, а может не знаю каких-то нюансов работы с gets. Помогите, пожалуйста, разобраться в чем же дело.

Вернуться к обсуждению:
Не получается считать строку с gets C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.11.2013, 22:31
Готовые ответы и решения:

Не получается считать строку из файла!
Мне нужно реализовать следующую задачку: Дан файл, содержащий некоторый текст. Написать программу,...

Считать с файла (input.txt) строку, перевернуть строку, записать файл (put.txt) эту строку
Считать с файла (input.txt) строку, перевернуть строку, записать файл (put.txt) эту строку.

Считать строку, и найти число вхождений символа в эту строку (с использованием strchr)
Почему не работает, компилятор ошибок не ловит, при запуске вылетает с ошибкой. Программа должна...

Как считать строку scanf'ом при этом не переходя на новую строку, т.е. без использования Enter'а
Как считать строку scanf'ом при этом не переходя на новую строку, т.е. без использования Enter'а,...

1
03.11.2013, 22:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.11.2013, 22:31
Помогаю со студенческими работами здесь

Запросить строку и получить из нее строку,которая получается из данной чтение справа-налево
Можно в АБС?? и Блок схему плиз Добавлено через 17 часов 38 минут Завтра сдавать нужно...

Запросить строку и получить из неё строку,которая получается из данной чтением справа-налево
Запросить строку и получить из неё строку,которая получается из данной чтением справа-налево

Не получается считать данные из БД
Здравствуйте. создал бд в MSSQL 2013. добавил через обозреватель серверов. в папку modeles...

Не получается считать DVD
Есть dvd-диск на котором очень важные jpg-и. Примерно две недели назад dvd-rom перестал запускать...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru