Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Параллельные массивы в DEV C++


Рекомендуемые сообщения

Возникает ошибка "\main.cpp `max' undeclared (first use this function)", хотя массив описан.

#include <cstdlib>

#include <iostream>

using namespace std;

int room[7]={102, 107, 109, 112, 115, 116, 123};

int max[7]={12, 43, 23, 12, 20, 15, 16};

int main(int argc, char *argv[])

{

int index, answer, choice, num, rooms, flag, found;

rooms=7;

puts("1. Pokazat vmestimost vseh komnat.\n");

puts("2. Opredelit vmestimost opredelennoi komnati.\n");

puts("3. Naiti komnatu opredelennoi vmestimosti.\n");

printf("Vvedite vash vibor ot 1 do 3: ");

scanf("%d", &choice);

putchar('\n');

switch(choice)

{

case 1:

for (index=0; index<7; index++)

printf("Komnata #%d rasschitana na %d mest.\n", room[index], max[index]);

break;

case 2:

printf("Vvedite nomer komnati: ");

scanf("%d", &num);

index=0;

found=0;

while (!found && index<rooms)

if (room[index]==num)

found=1;

else

index++;

if (!found)

puts("Komnati s takim nomerom net v spiske.\n");

else

printf("Komnata #%d rasschitana na %d mest.\n", room[index], max[index]);

break;

case 3:

flag=0;

printf("Vvedite minimalnoe kolichestvo mest: ");

scanf("%d", &num);

for (index=0; index<rooms; index++)

if (max[index]>=num)

{

flag=1;

printf("Komnata #%d rasschitana na %d mest.\n", room[index], max[index]);

}

if (flag==0)

puts("Komnat s takim kolichestvom mest net.\n");

break;

default:

puts("Nepravilnyi vvod.");

}

system("PAUSE");

return EXIT_SUCCESS;

}

Ссылка на комментарий
Поделиться на другие сайты

little_greg:

Конфликт имен. Убери из программы строку using namespace std; или дай массиву max какое-нибудь не столь громкое имя.

Или можешь перенести объявление массивов room и max внутрь функции main. Тогда имя max будет переопределено внутри функции.

Изменено пользователем Тролль
Ссылка на комментарий
Поделиться на другие сайты

А как-то можно узнать какое имя можно использовать, а какое нет, чтобы в будущем такого не было.

Ссылка на комментарий
Поделиться на другие сайты

А как-то можно узнать какое имя можно использовать, а какое нет, чтобы в будущем такого не было.

У нас сопадений не должно быть с ключевыми словами и именами функций.

С первым все понятно, а про функции... какие-то ты знаешь, какие-то имена можно проверить на наличие в библиотеке...

Я думаю все :bye1:

Ссылка на комментарий
Поделиться на другие сайты

little_greg:

В случае конфликта компилятор сообщит. Но на всякий случай старайся объявлять имена не на глобальном уровне, а внутри функции, особенно имена, подозрительные на совпадение с именами стандартных функций или констант.

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Задача с обычными массивами.

Вводится размерность массива a, массив а заполняется случаными числами, далее в массив b записывается максимальный, минимальный элементы массива а, и сумма элементов массива а.

Посмотрите пожалуйста праивльность нахождения максимального и минимального элементов, не всегда првильно работает...

#include <iostream.h>#include <time.h>#include <math.h>int main(){srand(unsigned(time(NULL)));   int N=50, n;cin >> n;float a[N], b[3];cout << "\nMass A: \n\n";for (int i=0; i<n; i++) {a[i]=rand()%201-100;cout << a[i] << " "; }b[0]=a[0];for (int i=0; i<n; i++) if (a[i] < a[i+1]) b[0]=a[i+1];b[1] = a[0];for (int i=0; i<n; i++) if (a[i] > a[i+1]) b[1]=a[i+1];b[2]=0;for(int i=0; i<n; i++)b[2]+=a[i];for(int i=0; i<3; i++)cout << endl << b[i] << " ";cout << "\n";system("pause");  return (0);}
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...