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

Помогите доработать программу на С++,задача на тему двумерных массивов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построить вектор по правилу http://www.cyberforum.ru/cpp-beginners/thread411542.html
Помогите,пожалуйста,написать программу на C++. Заданы два вектора x(x1,x2,…,xn),y(y1,y2,…,yn) и числа a,b. Построить вектор z(z1,z2,…,zn),компоненты которого вычисляются по правилу:z=ax при xy<0,либо by,при xy>=0 .
C++ Как создать объект с конструктором в интерфейсе другого класса? struct WorkerInfo { WorkerInfo(int iPay, int iDebt) : pay (iPay), iDebt(debt) {} ~WorkerInfo() {} int pay; // зарплата int debt; // долг }; class Worker { http://www.cyberforum.ru/cpp-beginners/thread411540.html
C++ Получить все расстановки 8 ладей
Прошу помощи с заданием. Получить все расстановки 8 тур (рус. Ладья) на шахматной доске, при которых ни одна ладья не угрожает второй. (чистый Си) Спасибо. у меня есть только один вариант расстановки #include "stdafx.h" #include <stdio.h>
C++ Напишите функцию, которая вычисляет среднее арифметическое элементов массива
Напишите функцию, которая вычисляет среднее арифметическое элементов массива. Массив содержит элементы типа unsigned long long. Массив передается в функцию через два параметра - указатель на первый элемент, и размер массива.  #include <iostream> #include <stdlib.h> using namespace std; unsigned long long sums(unsigned long long* a, int size); void mas_in(unsigned long long* a, int size);...
C++ ... В четных байтах числа в двоичной системе переместить нулевые биты в старшие биты, а в нечетных байтах – в младшие ... http://www.cyberforum.ru/cpp-beginners/thread411515.html
Доброго времени суток всем, столкнулся с проблемой по С++,требуется написать программу: которая получает 1)случайное целое типа int, выводит его двоичное представление на экран Это вроде как, делает 1 пункт =) #include<iostream> using namespace std; #include<iomanip> using std::setw; using std::cin;
C++ вывод и запись файлов Пусть в текстовом файле содержит двумерный массив значений. Считать его и определить сумму додатніх значений и сумму отрицательных значений. Результат занести в отдельный файл подробнее

Показать сообщение отдельно
22Андрей22
1 / 1 / 0
Регистрация: 14.11.2011
Сообщений: 21
19.12.2011, 15:53     Помогите доработать программу на С++,задача на тему двумерных массивов
Помогите доработать программу на С++,задача на тему двумерных массивов


Написать программу, реализующую алгоритм задачи индивидуального варианта. В программе необходимо организовать работу с двумерным массивом.
1. Оценки студентов. Записать из файла в двумерный массив информацию об оценках каждого из N студентов группы по тому или иному предмету (в первой строке – информация об оценках первого студента, во второй – второго и т. д.). Общее число предметов равно K. Сформировать список оценок студентов, которые по всем K предметам учатся на 4 и 5. Упорядочить этот список по убыванию среднего балла.
Вот что у меня получилось, не могу понять куда вставить условие, которое будет отсеивать троешников и двоешников.

#include <iostream>
#include <fstream>
using namespace std;

void print(int **a, int nrow, int ncol, double *h);
void sort(int **a, int nrow, int ncol, double *h);

int main(void)
{ int nrow, ncol;
int N,K; int **a;
ifstream f; // объявление потока для чтения
f.open("D:\\abc5.txt"); // режим ios::in
if (f)
{ cout << "Read file ! \n";
f >> nrow; f >> ncol;

// Выделение памяти под массив
a = new int *[nrow];
for(N = 0;N < nrow;N++)
a[N]= new int [ncol];

// Заполнение массива
for(N = 0;N < nrow;N++)
for(K = 0;K < ncol;K++)
f >> a[N][K];
cout << "\n";
f.close();

//суммирование баллов для каждого ученика
// (суммирование элементов строк)
double *sum = new double [nrow]; double *h = new double [nrow];double *U = new double [nrow];
for (N = 0;N < nrow;N++)
{ sum[N] = 0;
for (K = 0;K < ncol; K++){
sum[N] += a[N][K];
h[N] =sum[N]/(K+1); if (h[N]>=4)
U[N]=h[N];

};}


//вывод исходного масива
cout<<"\n Исходные баллы учеников\n";

print(a, nrow, ncol, h);
cout << "\n";

sort(a, nrow, ncol, h);

//вывод на экран упорядоченной матрицы

cout << "\n Баллы учеников";
cout << "\n упорядоченные по среднему \n";

print(a, nrow, ncol, h);
cout << "\n";
}
else cout << "File not found \n";
}

void print(int **a, int nrow, int ncol, double *h,double *U)
{ for (int N = 0;N < nrow; N++)

{ for (int K = 0;K < ncol; K++){
cout << " " << a[N][K]<< " ";
cout << "| " << U[N] << "\n"; }

}}


void sort(int **a, int nrow, int ncol, double *h)
{ double buf_h;
int nmin, buf_a;
for(int N = 0;N < nrow-1; N++)
{ nmin = N;
for(int K = N+1;K < nrow; K++)
if (h[K] < h[nmin])
nmin = K;
buf_h = h[N];
h[N] = h[nmin]; h[nmin] = buf_h;
for(int K = 0;K < ncol;K++)
{ buf_a = a[N][K];
a[N][K] = a[nmin][K];
a[nmin][K] = buf_a;
}
}
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru