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

Вывести номер первой строки матрицы, содержащей равное количество положительных и отрицательных элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запись в файл http://www.cyberforum.ru/cpp-beginners/thread986671.html
Задание: Определить максимальный элемент массива, записанного в файле. Результат записать в новый файл. Пишу такой код, однако программа записывает в файл не максимальный элемент. #include <iostream> #include "fstream" using namespace std; const int n=50; int main ()
C++ передача указателя какой способ передачи указателя наиболее быстрый? int a = 1; int *b= &a; wav.set_windows((int*) b); или int a = 1; int *b= &a; http://www.cyberforum.ru/cpp-beginners/thread986669.html
Вычислить количество отрицательных элементов массива C++
В массиве из 10 чисел есть положительные и отрицательные элементы. Подсчитать с помощью функции количество отрицательных элементов массива
C++ Read Structure From File
Собственно запускаем такую программу. Файл обязательно должен быть бинарным. #include <iostream> #include <cstdlib> #include <clocale> #include "function.h" using namespace std; int main () { bool noexit;
C++ создать класс http://www.cyberforum.ru/cpp-beginners/thread986645.html
Создать класс который содержит в закрытой области содержит какие либо данные, а пользователь через интерфейс этого класса может получить эти данные.
C++ Из Pascal в C++ Ребята, помогите пожалуйста перевести Задачу из Pascal в C++. В головоломку умножения играют с рядом карт, каждая из которых содержит одно положительное целое число. Во время хода игрок убирает одну карту из ряда и получает число очков, равное произведению числа на убранной карте и чисел на картах, лежащих непосредственно слева и справа от неё. Не разрешено убирать первую и последнюю карты... подробнее

Показать сообщение отдельно
Руслан555
1 / 1 / 0
Регистрация: 28.01.2013
Сообщений: 79
24.10.2013, 17:51  [ТС]     Вывести номер первой строки матрицы, содержащей равное количество положительных и отрицательных элементов
int row_num; // номер первой строки, в которой число положительных и отрицательных элементов одинаково
C++
1
2
3
4
5
6
7
8
9
10
11
 FILE * file;            // указатель на файл
    const char * file_name; // имя файла
    int number;             // здесь хранится считываемое из файла число
    int current_row;        // номер текущей строки
    int current_col;        // номер текущего столбца
    int res_vec[5][2];         // результирующий вектор размером 5х2, хранится пара номер строки - число положительх элементов - число отрицательных
 
    file_name="C:\\Users\\acer\\Desktop\\Labs\\3\\laba\\matrix.dat";
    file=fopen(file_name,"r");
    if(file==NULL)
    {
я вот это не понимаю??))

Добавлено через 47 секунд
вот сейчас наподобие мы вот так делаем сейчас задачу покажу

Добавлено через 36 секунд
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
1)  #include <stdio.h>
2)  #include <stdlib.h>
3)  int main()
4)  {
5)  int arr[10] = {11,-15,-7,-5,8,15,2,21,1,-10};
6)  for (int i = 0; i < 10; i++)
7)  printf ("%d ", arr[i]);
8)  int min = 0, max = 0;
9)  for (int i = 0; i < 10; i++)
10) { if (arr[i] < arr[min]) min = i;
11) if (arr[i] > arr[max]) max = i;
12) }
13) printf ("\nMinimal element: %d\n", arr[min]);
14) printf ("Maximal element: %d\n", arr[max]);
15) if (min > max){ int t = min; min = max; max = t; }
16) int n = (max-min)/2;
17) for (int i = 1; i <= n; i++)
18) { int t = arr[min+i]; arr[min+i] = arr[max-i]; arr[max-i] = t; }
19) printf ("Elementi mejdu minimal i maximal elementami v obratnom poryadke: \n");
20) for (int i = 0; i < 10; i++) 
21) printf ("%d ", arr[i]);
22) system ("pause");
23) return 0;
24) }
Добавлено через 21 секунду
вот так мы делаем задачи такого типа)))

Добавлено через 2 минуты
нет мы так не делаем говорю мы делаем наподобие вот так:
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
#include <stdio.h>
#include <stdlib.h>
int main()
{
int arr[10] = {11,-15,-7,-5,8,15,2,21,1,-10};
for (int i = 0; i < 10; i++)
printf ("%d ", arr[i]);
int min = 0, max = 0;
for (int i = 0; i < 10; i++)
{ if (arr[i] < arr[min]) min = i;
if (arr[i] > arr[max]) max = i;
}
printf ("\nMinimal element: %d\n", arr[min]);
printf ("Maximal element: %d\n", arr[max]);
if (min > max){ int t = min; min = max; max = t; }
int n = (max-min)/2;
for (int i = 1; i <= n; i++)
{ int t = arr[min+i]; arr[min+i] = arr[max-i]; arr[max-i] = t; }
printf ("Elementi mejdu minimal i maximal elementami v obratnom poryadke: \n");
for (int i = 0; i < 10; i++) 
printf ("%d ", arr[i]);
system ("pause");
return 0;
}
Добавлено через 34 секунды
сделаете??

Добавлено через 12 минут
мы так не делаем вот так примерно можете??
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
#include <stdio.h>
#include <stdlib.h>
int main()
{
int arr[10] = {11,-15,-7,-5,8,15,2,21,1,-10};
for (int i = 0; i < 10; i++)
printf ("%d ", arr[i]);
int min = 0, max = 0;
for (int i = 0; i < 10; i++)
{ if (arr[i] < arr[min]) min = i;
if (arr[i] > arr[max]) max = i;
}
printf ("\nMinimal element: %d\n", arr[min]);
printf ("Maximal element: %d\n", arr[max]);
if (min > max){ int t = min; min = max; max = t; }
int n = (max-min)/2;
for (int i = 1; i <= n; i++)
{ int t = arr[min+i]; arr[min+i] = arr[max-i]; arr[max-i] = t; }
printf ("Elementi mejdu minimal i maximal elementami v obratnom poryadke: \n");
for (int i = 0; i < 10; i++) 
printf ("%d ", arr[i]);
system ("pause");
return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru