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

Функция возвращает структуру - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить программу вычисления выражения http://www.cyberforum.ru/cpp-beginners/thread961243.html
Помогите решить эту задачу, своими силами составил такой код (не рабочий): #include<conio.h> #include<stdio.h> #include<math.h> #include<stdlib.h> void clear(void) { system("cls"); } int main()
C++ Прочесть данные с массива Здравствуйте форумчане, нуждаюсь в маленькой помощи в решении несложной задачки. Дан массив А, и с него надо считать данные и записать их в массив В. http://www.cyberforum.ru/cpp-beginners/thread961242.html
Поиск максимального елемента ,методом деления пополам C++
Программа ищет максимальный элемент в массиве a1, ..., an, используя метод деления пополам max (a1, ..., an) = max (max (a1, ..., an/2), max (an/2+1, ..., an)). #include <stdlib.h> #include <stdio.h> #include <conio.h> double maxr(double *a,int n); void main() { double a={2,1,4,5,10,3}; double r=maxr(a,6); printf("maximum=%Lf\n",r);
C++ классы объектов
На вход подается некоторое количество окружностей(координаты центра и радиус).Отсортировать и вывести их по возрастанию площадей.(на языке С++)
C++ Меньшее из этих двух чисел заменить их полусуммой, а большее — их удвоенным произведением http://www.cyberforum.ru/cpp-beginners/thread961221.html
Даны действительные числа х, у (х у). Меньшее из этих двух чисел заменить их полусуммой, а большее — их удвоенным произведением. я писал код но такое#include <iostream.h> #include <math.h> using namespace std; void main(void) { double k,m,x,y,z; system("pause");
C++ Эвристический алгоритм упаковки Здравствуйте, помогите пожалуйста с задачей. Задача: Эвристический алгоритм упаковки заданного набора предметов в ящики указанного размера - сортировка массива предметов и упаковка с выбором наименьшего свободного пространства. Т.е. нужно расположить предметы по коробком максимально компактно. Нашел следуйщий код. Вроде рабочий, но непонятны некоторые моменты. #include <iostream> подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.09.2013, 13:07     Функция возвращает структуру
Когда ваш код компилируется, то компилятор выдаёт предупреждение:
warning C4715: BinaryInStruc: значение возвращается не при всех путях выполнения
Поставьте в конце этой функции вывод, чтобы посмотреть, где происходит возврат из неё:
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
//#include "stdafx.h"
#include <stdio.h>//ввод, вывод
#include <conio.h>//_getch()
#include <stdlib.h> //atoi()
#include <string.h>//strcmp()
#include <malloc.h>//malloc()
#define eof -1
#define maxline 1000
int getline(char s[],int lim)
{
    int c,i;
    for(i=0;(c=getchar())!= eof && i<lim-1 && c!='\n';i++)
        s[i]=c;
        s[i]='\0';
        i++;
return(i);
}
struct key
{
    char *keyword;
    int keycount;
 
} tab[]={"break",0,
         "case",0,
         "char",0,
         "continue",0,
         "end",0},bbb;
struct key BinaryInStruc(char *word,struct key tab[],int n)
{
    int low,high,mid,cond;
    low=0;
    high=n-1;
    while(low<= high)
    {
        mid=(low+high)/2;
        if((cond=strcmp(word,tab[mid].keyword))<0)
            high=mid-1;
        if(cond<0)
        {
       high=mid-1;continue;
        }
        if(cond>0)
        {
            low=mid+1;continue;
        }
        tab[mid].keycount=0;
        return(tab[mid]);
    }
    
    printf("Return");
}
 
 
int main()
{
    char s[maxline];
    int c;
    do
    {
        printf("Enter your new string >");
        getline(s,maxline);
        bbb=BinaryInStruc(s,tab,5);
        if(bbb.keycount!= -1)
            printf("Found string= %s\n",bbb.keyword);
        else
            printf("not found\n");
    }
    while((c=getchar()) !=eof); 
 
    return 0;
}
Из скрина видно, что возврат происходит совсем не там, где рассчитывалось. Возвращается некий мусор, который присваивается bbb. Потом делается попытка использования этого мусора. Отчего ошибка.
Миниатюры
Функция возвращает структуру  
 
Текущее время: 17:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru