Премини към съдържанието
Spaider

Двумерни масиви, запазване на индекса

Препоръчан отговор


#include <iostream>
using namespace std;
int main()
{
	double masiv[3][5];
	double maxIndex[3];
	
	for(int i=0;i<3;i++)
	{
		for(int j=0;j<5;j++)
		{
			cout << "Vuvedete " << i+1 << " red " << j+1 << " kolona: ";
			cin >> masiv[i][j];
		}
	}
	
	for(int i=0;i<3;i++)
	{
		maxIndex[i] = masiv[0][i];
		for(int j=0;j<5;j++)
		{
			if(maxIndex[i] < masiv[i][j])
			{
				maxIndex[i] = masiv[i][j];
			}
		}
	}
	
	for(int i=0;i<3;i++)
	{
		cout << maxIndex[i] << " ";
	}
	 cout << endl << endl;
	
	for(int i=0;i<3;i++)
	{
		for(int j=0;j<5;j++)
		{
			cout << masiv[i][j] << " ";
		}
		cout << endl;
	}
	system("PAUSE");
	return 0;
}

 

Условието:

15311480_1164491343588847_1480280787_o.jpg

Нещо не ми се получава, а не мога да разбера къде бъркам.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

преди 2 часа, Spaider написа:

Нещо не ми се получава, а не мога да разбера къде бъркам.

Добре де, какво щеше да  ти стане да напишеш какво точно не ти се получава?

Инициализирай си правилно масива с максималните стойности и ще ти се получи

//Ако може да обясниш що тука индексираш колоните с числото с което обикаляш редовете...
maxIndex[i] = masiv[0][i];
//Смени го на 
maxIndex[i] = masiv[i][0];

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ми на едномерния масив ми извежда 1,2,3. А трябва да ми изведе самите индекси на най-големите числа от редовете на двумерния масив.

Имам въпрос, masiv[A] A не са ли редовете, а B колоните?

maxIndex[i] = masiv[0][i];

Присвоявам стойността на първия ред от двумерния масив на едномерния масив, вместо да го инициализирам с 0.

Цитат

Инициализирай си правилно масива с максималните стойности и ще ти се получи

Точно, че не знам как да го направя.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
	for(int i=0;i<3;i++)
	{
		maxIndex[i] = 0;
		for(int j=1;j<5;j++)
		{
			if(masiv[i][maxIndex[i]] < masiv[i][j])
			{
				maxIndex[i] = j;
			}
		}
	}

Еми спи ми се и не чета много :D

Като търсиш индекси инициализирай с индекси

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Дава грешка на този ред:

if(masiv[i][maxIndex[i]] < masiv[i][j])

invalid types `double[5][double]' for array subscript 

Имам въпрос, masiv[A]  A не са ли редовете, а B колоните?


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Дава ти грешка защото масива maxIndex  трябва да е от тип int ако ще съхраняваш там индексите, а не от тип double

  • Харесва ми 2

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.