Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с max, Не нах. max 
:(
    Опции темы
Ufyljy
  Дата 5.10.2007, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Код

/* -_-_ Создано: 
                 Автор: 
        Дополнения: 
                    Коррекции:
        Благодарности:
*/   

#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<conio.h>

/********* Константы */
#define hr printf("_________________________________");
#define br printf("\n");
#define p3 br; br; br;
#define p2 br; br;
#define end system("PAUSE"); return 0;
#define beep puts("\a");
#define b 3

struct people
{
       char name[20];
       int age; int height;
} a[b];

main()
{
      int index,repeat;
      index=0;
      do
      {
              if(index > 0) {br;}
              printf("Vvedite informaciyu o cheloveke #%d\n",index);
              printf("Enter name: "); scanf("%s",&a[index].name); 
              printf("Enter age: "); scanf("%d",&a[index].age);
              printf("Enter height: "); scanf("%d",&a[index].height);
              
              index++;
      }
      
      while(index < b);
      p2;
      
      for(repeat=0; repeat < b; repeat++)
      {
                    printf("Name: %s, Age: %d, Height: %d",a[repeat].name, a[repeat].age, a[repeat].height);
                    br;
      }
      
      p2;
      
      int max=a[0].height;
      
      for(index=0; index < b; index++)
      {
                   if(a[index].height >= max)
                   {
                                      a[index].height=max;
                   }
      }                                 

      printf("%d",max);
                            
      getch();
}                            
              
      



Не находится max правильно... помогите.
PM MAIL   Вверх
Lazin
Дата 5.10.2007, 10:10 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Может вместо
Код

      int max=a[0].height;
      
      for(index=0; index < b; index++)
      {
                   if(a[index].height >= max)
                   {
                                      a[index].height=max;
                   }
      }     


стоит написать

Код

      int max=a[0].height;
      
      for(index=0; index < b; index++)
      {
                   if(a[index].height >= max)
                   {
                                      max=a[index].height;
                   }
      }   
  
PM MAIL Skype GTalk   Вверх
DjoNIK
Дата 5.10.2007, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 28.9.2006
Где: Питер/Георгиевск

Репутация: 4
Всего: 5



ОЙ!!! Левое сообщение!!!!

Это сообщение отредактировал(а) DjoNIK - 5.10.2007, 17:27


--------------------
- Плесни-ка мне холодного кипятку.
- Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды?
- Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку.
(разговор петербуржца и москвича)
PM MAIL ICQ   Вверх
Ufyljy
  Дата 6.10.2007, 02:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Слушайте, а можете объяснить разницу?
Между a[index].height=max;, max=a[index].height;

Ведь если a=b, то и b=a

PM MAIL   Вверх
wils0n
Дата 6.10.2007, 04:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 15.2.2006

Репутация: нет
Всего: 1



Цитата(Ufyljy @  6.10.2007,  02:43 Найти цитируемый пост)
Слушайте, а можете объяснить разницу?
Между a[index].height=max;, max=a[index].height;

Ведь если a=b, то и b=a


На всякий случай поясню, что "=" это оператор присваивания, а не знак равенства. В самом простом случае (например, со скалярными типами) после его действия левый операнд принимает значение правого, но не наоборот. 
Пример:
если a = 3, b = 2,
то
после a = b становится a=b=2 (в математическом смысле),
но
после b = a становится a=b=3 (в математическом смысле)



Это сообщение отредактировал(а) wils0n - 6.10.2007, 04:09
PM MAIL WWW   Вверх
Ufyljy
Дата 6.10.2007, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Понятно, большое спасибо  smile 
Я и вправду забыл, что "=" оператор присваивания, особенно после паскалевского ":="
PM MAIL   Вверх
Ufyljy
Дата 6.10.2007, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Код

/* -_-_ Создано: 
                 Автор: 
        Дополнения: 
                    Коррекции:
        Благодарности:
*/   

#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<conio.h>

/********* Константы */
#define hr printf("_________________________________");
#define br printf("\n");
#define p3 br; br; br;
#define p2 br; br;
#define end system("PAUSE"); return 0;
#define beep puts("\a");
#define b 3

// Глобальные переменные
int menu;

struct people
{
       char name[20];
       int age; int height;
} a[b];

void putCase()
{
     
     printf("Welcome to main menu"); br;
     printf("1.Peoples"); br;
     printf("2.Who heighter?"); br;
      
     printf("Choose: "); scanf("%d",&menu); p2;   
    
}

int main(int nNumberofArgs, char* pszArgs)
{
      int index,repeat;
      index=0;
      
      putCase();
      
      switch(menu)
      {
                  case 1:
      
                  do
                  {
                  if(index > 0) {br;}
                  printf("Vvedite informaciyu o cheloveke #%d\n",index);
                  printf("Enter name: "); scanf("%s",&a[index].name); 
                  printf("Enter age: "); scanf("%d",&a[index].age);
                  printf("Enter height: "); scanf("%d",&a[index].height);
              
                  index++;
                  }
      
                  while(index < b);
                  p2;
      
                  for(repeat=0; repeat < b; repeat++)
                  {
                                printf("Name: %s, Age: %d, Height: %d",a[repeat].name, a[repeat].age, a[repeat].height);
                                br;
                  }
                
                  putCase(); break;
                  
                  case 2:
                  int max=a[0].height;
      
                  for(index=0; index < b; index++)
                  {
                               if(a[index].height >= max)
                               {
                                      max=a[index].height;
                               }
                  }                                 

                  printf("%d",max);
                  
                  break;
                  


      }
                            
      getch();
}                            
              
      



 smile Мне надо сделать, чтобы можно было вызвать case после выполнения одного из пунктов. У меня выходит по-другому: case запускается, но при написании цифры - программа закрывается.
Кстати, еще default не работает - "default: printf("AAAAAAAA"); break;"
PM MAIL   Вверх
DjoNIK
Дата 6.10.2007, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 28.9.2006
Где: Питер/Георгиевск

Репутация: 4
Всего: 5



Во-первых правило форума: "один топик - один вопрос"
Во-вторых тебе нужно делать не:
Код

case 2:

, а:
Код

case '2':

Ибо как первый вариант - ты сравниваешь по коду символа!

Добавлено через 3 минуты и 12 секунд
Ты уверен, что default - не работает?
Можно код?

Это сообщение отредактировал(а) DjoNIK - 6.10.2007, 16:11


--------------------
- Плесни-ка мне холодного кипятку.
- Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды?
- Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку.
(разговор петербуржца и москвича)
PM MAIL ICQ   Вверх
Ufyljy
  Дата 6.10.2007, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



default: printf("Тралялятополя"); break;
У меня не компилируется
PM MAIL   Вверх
FREEDEV
Дата 6.10.2007, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 6.3.2007
Где: Украина->Одесс а

Репутация: нет
Всего: 3



Ufyljy,  что пишет то?
--------------------
Microsoft Windows Visla ©
PM MAIL   Вверх
Ufyljy
  Дата 7.10.2007, 06:39 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Вы можете использовать вышевыложенный код, прибавив к нему вышеупомянутую строчку  smile 

struct_mas.cpp In function `int main(int, char*)': 
struct_mas.cpp jump to case label 
struct_mas.cpp   crosses initialization of `int max' 

Это сообщение отредактировал(а) Ufyljy - 7.10.2007, 06:41
PM MAIL   Вверх
DjoNIK
Дата 7.10.2007, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 28.9.2006
Где: Питер/Георгиевск

Репутация: 4
Всего: 5



Цитата

Вы можете использовать вышевыложенный код, прибавив к нему вышеупомянутую строчку  

А это кому надо - нам или тебе?

Обрами блоки case-ов в модуль


--------------------
- Плесни-ка мне холодного кипятку.
- Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды?
- Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку.
(разговор петербуржца и москвича)
PM MAIL ICQ   Вверх
JackYF
Дата 7.10.2007, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(DjoNIK @  7.10.2007,  10:01 Найти цитируемый пост)
в модуль 

в смысле, в { ... }


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Ufyljy
Дата 7.10.2007, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 5.10.2007

Репутация: нет
Всего: 1



Тогда уж в систему..
PM MAIL   Вверх
DjoNIK
Дата 8.10.2007, 07:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 28.9.2006
Где: Питер/Георгиевск

Репутация: 4
Всего: 5



Цитата

Тогда уж в систему.. 

Какую такую систему?


--------------------
- Плесни-ка мне холодного кипятку.
- Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды?
- Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку.
(разговор петербуржца и москвича)
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1089 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.