Форум программистов, компьютерный форум, киберфорум
Наши страницы

массивы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ SOS http://www.cyberforum.ru/cpp-beginners/thread92874.html
В оперативной памяти вектор int X расположен, начиная с адреса B7F0. Какие значения примут выражения: а) X+1; б) X+5; в) X-4? Составить функцию вычисления среднего значения элементов...
C++ Переделать код с Visual C++ в Borland C++ Доброго всем времени суток... Помогите пожалуйста переделать код программы, очень нужно, а у меня не получается... Задание следующее: надо пройти некий лабиринт... код работает под Visual C++, а... http://www.cyberforum.ru/cpp-beginners/thread92871.html
Последовательность C++
Всем привет, помогите мне пожалуйста доделать прогу. Её смысл заключается в том, что бы найти все числа, что делятся только на 2, 3 и 5, чтобы получить последовательность. Найти енный член...
C++ Найти объединение двух списков
Помогите мне решить задачку, я в принципе не понимаю как её решать, вот её условие. Найти объединение двох списков,тоисть получить такой список в котором будут все элементы которые входят хотя бы в...
C++ Строки http://www.cyberforum.ru/cpp-beginners/thread92848.html
Может кто-нибудь объяснить каждую строчку в этой программе ? #include "stdafx.h" #include "iostream.h" #include "string.h" #include "math.h" void main() {char a; int i,d; cout<<"Input...
C++ Генерация случайных чисел Помогите пожалуйста с этой программой, я ни как не могу понять как ее зделать. Написать программу, которая генерирует три последовательности из десяти случайных чисел в диапазоне от 1 до 10,... подробнее

Показать сообщение отдельно
cibertronic
256 / 143 / 13
Регистрация: 27.12.2009
Сообщений: 908
10.02.2010, 16:39
чес сказать пока нэт был отключен,подзабыл как код писал..... нет привычки коменты писать к исходнику чтоб не забыть))) ну ща попробую вспомнить

Добавлено через 1 час 4 минуты
вот:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
float f(float fb,float fc)// создание елементов функции,аточнее принятие переменных
{
return fb/fc;      // функция. fb-сумма элементов строки fc-количество элементов
}
void main()    // может незнаешь, но это главная функия,с которой собственно начинается выполнение программы
{
const int N1=100;    //задает константу N1 размером 100, превышение которой в массиве невозможно
int a[N1][N1],i,j,n,h=0;   // то есть при размере больше 100 матрица будет выдавать только значения входящие в эту сотню.
                           // да тебе собственно не реал вводить 10 000 элементов ))) ент так... к слову
// строка 11 задает целочсленные переменные, где a[N1][N1] переменная типа массив, i-переменная строк, j-переменная столбцов
// n-переменная размера матрицы, h-переменная которая в конце программы будет показывать строку максимального среднего.
                           
float b,z,smax=0.0; // b-сумма элементов строки,использующаяся в твоей функции, z-результат вычисления функции (среднее),smax-собственно максимальное среднее       
printf("vvedite razmernost' matrici "); // выводит сообщение в ковычках
scanf("%d",&n);                         //присваивает значение для n введенное склавиатуры (собственно размер матрицы)
printf("vvedite elementy matrici\n");   // выводит сообщение в ковычках
for(i=0;i<n;i++)      //создание строк массива. здесь i присваивается нуль, ставитсяусловие если i меньше n то выполняется строка ниже, после выполнения которой i  увеличивается на 1
 for(j=0;j<n;j++)     // тут собственно то же что и выше, только для столбцов, а точнее элементов строки по переменной j
  scanf("%d",&a[i][j]);   // присваивает массиву введеные значения с клавиатуры
printf("ishodnyj massiv\n"); // тут думаюясно что выводит сообщение в ковычках
for(i=0;i<n;i++)  // вывод введенного масива на экран. на всякий случай если было введено больше элементов или както криво
 {                //в общем чтоб норм видно было как выглядит массив
  for(j=0;j<n;j++)
  printf("%3d",a[i][j]);
  printf("\n");
 }
b=0; //изначально лучше задать значение переменной суммы нуль, чтоб в последствии было к чему прибавлять
i=0; //задаем номер строки нуль(все массивы в си начинаются с нуля. можно и с любого другого, но вопервых не логично, вовторых у нас уже все значения в массиве с нулевой строки зафиксированны)
  do
 {
for(j=0;j<n;j++)// массив столбцов, то есть строки описаны другим оператором(while) дальше будет понятно зачем
b+=a[i][j]; //сумма элементов строки (b=b+a[i][j]; то же самое)
z=f(b,n);   //твоя функция(то есть сумма делится на количество элементов в строке => среднее), присваивается для z
i++;        //к номеру строки прибавляется 1
b=0;        //сумма сбрасывается снова на нуль, т.к. онабыла занесена в z
if(z>smax)  //если сумма больше максимального(сейчас она равна 0, а точнее 0.0 см.16 строку), то:
{
 smax=z;    //для максимального присваивается последнее значение z
 h=i;       //запоминается номер строки(если предидущее дейсвие снова выполится, значение снова изменится)
}
 }
  while(i<n);//если номер строки меньше длинны, то возвращается на "do" (см. 32 строку), если нет, то продолжает программу
printf("\n maksimal'noe srednee sredi strok matrici\n\n%5.2f v %d-y stroke",smax,h);//выводит сообщение на экран и соответствующиепеременные
getch();//приводит программу в режим ожидания нажатия клавиши
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.