Jump to content
СофтФорум - всё о компьютерах и не только

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


Recommended Posts

Возникает ошибка "\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;

}

Link to comment
Share on other sites

little_greg:

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

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

Edited by Тролль
Link to comment
Share on other sites

Guest Хексем

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

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

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

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

Link to comment
Share on other sites

little_greg:

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

Link to comment
Share on other sites

  • 4 weeks later...
Guest Хексем

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

Вводится размерность массива 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);}
Link to comment
Share on other sites

Guest Хексем

Хексем:

if (a < a[i+1]) b[0]=a[i+1];

if (b[0] < a) b[0]=a;

if (a > a[i+1]) b[1]=a[i+1];

if (b[1] > a) b[1]=a;

хм, как все просто, благодарю :D

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...