HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 03.01.2010, 22:10
XimiK69
Новичок
Регистрация: 02.01.2010
Сообщений: 26
Провел на форуме:
33560

Репутация: 15
По умолчанию

Цитата:
Сообщение от STIFFmaster  
Помогите, пожалуйста. Буду признателен.
Дана целочисельная матрица. Отсортировать строки матрицы относительно первого элемента строки по убыванию.
PHP код:
#include <iostream>
using namespace std;

int main()
{
    
int l 0;
    
int a[3][3] = {
                   
3,7,3,
                   
4,2,8,
                   
6,8,1
                  
};
    for(
int i 03i++)
    {

        for(
int j 13j++)
        {
            
int t a[i][j], 0;
            for(
l=j-1; (>= 0)&&(a[i][l] < t); l--)
            { 
a[i][l+1]=a[i][l]; }
            
a[i][l+1] = t;
        }
    }
    for(
int i 03i++)
    {
        for(
int j 03j++)
        { 
cout << a[i][j] <<"  "; }
        
cout << endl;
    }
    return 
0;

 
Ответить с цитированием

  #2  
Старый 03.01.2010, 22:13
n1ghtstalker
Познающий
Регистрация: 28.09.2008
Сообщений: 65
Провел на форуме:
152084

Репутация: 8
По умолчанию

Цитата:
Сообщение от XimiK69  
PHP код:
#include <iostream>
using namespace std;

int main()
{
    
int l 0;
    
int a[3][3] = {
                   
3,7,3,
                   
4,2,8,
                   
6,8,1
                  
};
    for(
int i 03i++)
    {

        for(
int j 13j++)
        {
            
int t a[i][j], 0;
            for(
l=j-1; (>= 0)&&(a[i][l] < t); l--)
            { 
a[i][l+1]=a[i][l]; }
            
a[i][l+1] = t;
        }
    }
    for(
int i 03i++)
    {
        for(
int j 03j++)
        { 
cout << a[i][j] <<"  "; }
        
cout << endl;
    }
    return 
0;

хе хоть в C и не шарю пока особо.
товарищ зачем заранее матрицу и элементы определять?)
меня б в универе за это уже на кол посадили )
 
Ответить с цитированием

  #3  
Старый 03.01.2010, 22:15
XimiK69
Новичок
Регистрация: 02.01.2010
Сообщений: 26
Провел на форуме:
33560

Репутация: 15
По умолчанию

просто проверил алгоритм на этом примере, хотя с тобой согласен.....на константах работать нельзя....
 
Ответить с цитированием

  #4  
Старый 03.01.2010, 23:41
DJeFRY_RASH
Новичок
Регистрация: 07.04.2009
Сообщений: 19
Провел на форуме:
35427

Репутация: 3
По умолчанию

Ребят, гляньте, что можно сделать ...

Код:
program xyz;

uses
  SysUtils;

Function Ru ( S : string ) : string ;
VAR
             T : string ;			             { временная строка}
	i : integer ;			             { номер символа в строке }
	code : byte ;			             { код символа }
BEGIN
	T := S ;				             { получает значение параметра }
	FOR i := 1 TO Length ( S ) DO	{ для всех символов строки S}
	BEGIN				{ изменяет кодировку символов кириллицы }
		code := Ord ( S[ i ] ) ;		{ определяет код символа}
		CASE code OF		{ ПРОПИСНЫЕ БУКВЫ }
		192 .. 197: T[ i ] :=Chr(code-64) ;	{ А-Е: 192-197	->128-133}
		168: T[ i ] :=#240;			{ Ё: 168->240}
		198 .. 223: T[ i ] :=Chr(code-64);	{ Ж-Я	: 198-223->128-133}													{ строчные буквы }
		224 .. 229: T[ i ] :=Chr(code-64);	{ а-е	: 224-229->160-165}
		184: T[ i ] :=#241;			{ ё: 184	->241}
		230 .. 239: T[ i ] :=Chr(code-64);	{ е-п: 230-239->166-175}
		240 .. 255: T[ i ] :=Chr(code-16);	{ р-я: 240-255->224-239}
		END ;
	END ;
	Ru := T ;					{ возвращает значение временной строки }
END;

VAR
     i,j,k,n,temp:integer;                // искомые числа
     repeat_it:boolean;                   // зацикливание программы (True/False)
     ans:char;                                  // используется для получения согласия для продолжения работы программы
     label                                          // идентификатор
     p1;

Function IntSqrt(temp:integer):real;                       // функция для вычисления квадратного корня.
VAR
    x:real;
    t:real;
begin                                                                              // начало функции
    x:=sqrt(temp);                                                          // извлечение квадратного корня из числа.
    if (x-round(x))=0 then t:=x                                  // Если от х отнять округленный х будет равно нулю, тогда t=x.
    else t:=0;                                                                // Либо t=0.
end;                                                


begin
Writeln(Ru('Программа находит все натуральные числа, меньшие чем N, для которых выполняется соотношение a*a + b*b = c*c. [a,b,c < N]'));
Writeln;                             // ...
      Writeln(Ru('Автор программы ...'));   // Вывод информации на экран об авторе программы.
      Writeln;                            // ...
      Writeln('...');                         // Вывод на экран - e-mail автора программы.
      Writeln;                                                                  
    p1:                                                                      // Возврат в это место при ошибке или при повторном вводе данных.
    repeat_it:=true;                                                // Зацикливание программы, True-правда.
    while repeat_it=true do begin
 Write(Ru('Введите число, которое вы хотите проверить: '));                // ...
    read(temp);
    Writeln('OTBET: ',IntSqrt(temp):6:0);        // Отправить temp на обработку в функцию 'Formula()' и вывести результат на экран.
    Writeln;                                                             // ...
    Write(Ru('Введите N: '));                              // ...
    Read(n);                                                            // Ввод числа N
    for i:=1 to N-1 do                                             // Увеличиваем переменную результата в N-1 раз.
    for j:=1 to N-1 do                                             // Увеличиваем переменную результата в N-1 раз.
    for k:=1 to N-1 do                                            // Увеличиваем переменную результата в N-1 раз.
    if i*i+j*j=k*k then Writeln('a=',i:4,';    b=',j:4,';    c=',k:4);      // Если i*i+j*j=k*k, то выводятся на экран все возможные варианты решения этого уравнения.
    Writeln;                                                            // ...
    Write(Ru('Вы хотите продолжить работу с программой ? (Y/N): '));          // Предложить продолжить работу с программой.
        Readln;
    readln(ans);                                                      // Получить согласие.
    writeln;                                                                // ...
    if (ans='Y') or (ans='y') or (ans=Ru('Н')) or (ans=Ru('н')) then GoTo p1; // Если согласие получено - возврат к началу.
    break;                                                                  

    end;
end.
Собственно если ввожу N = 6
то выводит ответ
a = 3 b = 4 c = 5
a = 4 b = 3 c = 5
то есть нужно просто добавить что-то (не знаю что)
чтобы в случае если "с" совпадает несколько раз, тогда чтобы выводилось 1 раз.
 
Ответить с цитированием

  #5  
Старый 04.01.2010, 01:04
elusive.light
Новичок
Регистрация: 29.11.2009
Сообщений: 4
Провел на форуме:
13349

Репутация: 0
По умолчанию

Ребята нужна срочная помощь. Помогите кто, как сможешь. Принимаются любые версии.

Нужно написать программу для вычисления общего бала, зная оценки по лабам, тестам, но с учётом прогулов. Т.е. надо создать массив с оценками за лабы и тесты(размер массива определяется константами), вывести их среднее арифметическое(учитывая, что важность оценок в процентах такова: лабы - 75%, а тесты - 25%). Оценки находятся в структуре. Самое важное, это то что надо из среднего бала вычесть процент прогулов, который приблизительно равен 10%.
Программа не должна быть сильно сложной, где-то на уровне 1-го курса 1-го семестра.


Вот прога, которую я написал, но там нужно оценки за лабы и тесты сменить на массивы, с размером, меняющимся в константах.

Код:
#include<stdio.h>
/*Прога для вычисления оценки за лабы и тесты с учётом пропусков*/

struct Marks
{
    char f[50], i[50], o[50];
    float lab1, lab2, lab3, lab4;
    float test1, test2;
    float num_prop;
};

void main()
{
Marks stud;

scanf("%s %s %s", stud.f, stud.i, stud.o);

printf("Vvedite ocenki za labi\n");
scanf("%f %f %f %f", &(stud.lab1), &(stud.lab2), &(stud.lab3), &(stud.lab4));

printf("Vvedite ocenki za testi\n");
scanf("%f %f", &(stud.test1), &(stud.test2));

printf("Vvedite kol-vo propuskov\n");
scanf("%f", &(stud.num_prop));

float res;

res = (((stud.lab1 + stud.lab2 + stud.lab3 + stud.lab4) / 4) * 0.75) + (((stud.test1 + stud.test2) / 2) * 0.25) - (stud.num_prop * 0.1 * 5);

printf("%f", res);

getchar();
getchar();

}
Я начал делать с массивами, но не получается сделать вычисления.

Код:
#include<stdio.h> 
const int n = 4;
const int m = 2; 

struct Marks 
{ char sur[50], nam[50], pat[50]; 
double lab[n], test[m]; 
double numSpace; 
}; 

void main() 
{
      Marks stud; 
printf("Enter your full name...\n\t"); 
scanf("%s %s %s", stud.sur, stud.nam, stud.pat); 

printf("Enter marks of lab...\n\t"); 
   for( int i = 0; i < n; i++ ) 
      scanf("%lf", &(stud.lab[i]));  

printf("Enter marks of test...\n\t"); 
   for( int k = 0; k < m; k++ ) 
      scanf("%lf", &(stud.test[k])); 

printf("Enter numbers of space...\n\t");
scanf("%lf", &(stud.numSpace)); }
Можете дополнить мою прогу либо написать свой вариант. Прошу срочно надо на завтра(04.01.2010)
 
Ответить с цитированием

  #6  
Старый 04.01.2010, 11:34
lokli
Новичок
Регистрация: 28.12.2009
Сообщений: 7
Провел на форуме:
119162

Репутация: 0
По умолчанию

Держи код.
Код:
#include<stdio.h>


struct Marks 
{ char sur[50], nam[50], pat[50]; 
double lab[4], test[2];
double numSpace; 
}; 

void main()
{
float res;
int i,n=4,m=2,k;
struct Marks stud;
printf("Enter your full name...\n");
scanf("%s %s %s", stud.sur, stud.nam, stud.pat);

printf("Enter marks of lab...\n");
   for(i= 0; i < n; i++ )
      scanf("%lf", &(stud.lab[i]));

printf("Enter marks of test...\n");
   for(k=0; k < m; k++ )
      scanf("%lf", &(stud.test[k])); 

printf("Enter numbers of space...\n");
scanf("%lf", &(stud.numSpace));

res = (((stud.lab[0]+stud.lab[1] + stud.lab[2] + stud.lab[3]) / 4) * 0.75) + (((stud.test[0] + stud.test[1]) / 2) * 0.25) - (stud.numSpace * 0.1 * 5);
printf("%f", res);
getchar();
getchar();
 }
Работает правда не знаю так ли как ты хотел так что проверь.
 
Ответить с цитированием

  #7  
Старый 05.01.2010, 17:36
Retimiled
Banned
Регистрация: 24.12.2009
Сообщений: 141
Провел на форуме:
487460

Репутация: 45
По умолчанию

2 n1ghtstalker

дык вставь ввод в матрицу
Код:
int *a;
int razmern;
printf("\r\nВведите размерность матрицы:");
scanf("%d",&razmern);
a=new int[razmern*razmern];
// ввод поэлементно
for(int i=0;i<razmern;i++)
{
   for(int j=0;j<razmern;j++)
   {
       printf("\r\nВведите элемент a[%d][%d]:",i,j);
       scanf("%d",&a[i][j]);
    }
}

.... тут чивото делай 8)
....
delete[] a; //удаляй массив
 
Ответить с цитированием

  #8  
Старый 05.01.2010, 23:27
n1ghtstalker
Познающий
Регистрация: 28.09.2008
Сообщений: 65
Провел на форуме:
152084

Репутация: 8
По умолчанию

Цитата:
Сообщение от Retimiled  
2 n1ghtstalker

дык вставь ввод в матрицу
ололо ) во первых это надо было не мне
во вторых я давал только комментарий по этому поводу
)) гений ёпт )
 
Ответить с цитированием

  #9  
Старый 05.01.2010, 20:28
Spider545
Новичок
Регистрация: 10.04.2009
Сообщений: 26
Провел на форуме:
28153

Репутация: 2
По умолчанию

Ребят помогите плиззз!!!!!!!
надо программку в С++ Builder написать такую: Алгоритм нахождения наибольшего паросочетания в двудольном графе.
За ранее спасибо!)
 
Ответить с цитированием

  #10  
Старый 06.01.2010, 03:26
lion-mobile
Новичок
Регистрация: 09.04.2009
Сообщений: 3
Провел на форуме:
315046

Репутация: 0
По умолчанию

привет. спасайте, ибо начинается сессия, а лаба не сдана..


задание:



1.
квадратичная форма. Написать программу, которая вычисляет квадратичную форму для матрицы A размером n*n и вектора





2.
Реализовать задание с использованием функций. в программе должно быть минимум 2 функции: введение матрицы и осн. алгоритм ее обработки.



спасибо огромное откликнувшимся!!!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.