visual c++ Привет всем! Суть лабы: задается размер матрицы, заполняется рандомными числами. Нужно все диагонали матрицы упорядочить по возрастанию пятью сортировками и посчитать количество сравнений и перестановок каждым методом. Пример сортировки: 1 1 1 1 1 1 2 2 2 2 1 2 3 3 3 1 2 3 4 4 PHP: // sorting.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <conio.h> #include <iostream> #include <stdlib.h> #include <time.h> #include <Windows.h> using namespace std; void arraySending(int* A, int N, int M) { for(int i = 1; i < N+M-2; i++) { } } //Разбор матрицы по одномерным массивам void arrayParsing(int **A, int **B, int N, int M) { //Разбор for(int i = 1; i < N+M-2; i++) { if(i < N) { int count = 0; int row = N-1-i; int column = 0; while(row < N) { cout << "\n i = " << i-1 << "\n count = " << count << "\n row =" << row << "\n column = " << column << "\n***"; B[i-1][count]=A[row][column]; row++; column++; count++; } } else { int count = 0; int row = 0; int column = i+1-N; while((row < N) && (column < M)) { B[i-1][count]=A[row][column]; cout << B[i-1][count] << "\n"; row++; column++; count++; } } } } //Отображение массива void arrayShow(int **A, int N, int M) { cout << endl << endl; for (int i=0; i<N; i++) for (int j=0;j<M;j++) { if (!(j%M)) cout<<endl; //Чтобы массив выглядел как массив cout << A[i][j] << '\t' ; //Табуляция символов } } //Инициализация массива случайными значениями void arrayInit(int **A,int N,int M) { srand(time(0)); for (int i=0;i<N;i++) for (int j=0;j<M;j++) A[i][j]=rand()%(100); //Случайное значение в очередную ячейку массива } void main() { system("cls"); int **A; //Для создания двумерного массива удобен указатель на указатель int** B; // int N,M; //Число колонок=N, Число строк= M cin>>N>>M; //Ввели размерность массива //for (int k=0; k<10;k++){ Может кому нужно циклом /*Создание динамического двумерного массива*/ A=new int*[N]; for (int i=0;i<N;i++) A[i]=new int[M]; arrayInit(A,N,M); //Функция создания массива arrayShow(A,N,M); //Функция обработки массива //Инициализация динамик массив для разбора B=new int*[N+M-2]; for (int i = 0; i<N; i++) B[i]=new int[M]; /*for(int i = 0; i < N; i++) for(int j = 0; j < M; j++) B[i][j]=A[i][j];*/ arrayParsing(A, B, N, M); arrayShow(B,N,M); /*Очистка памяти от созданного двумерного массива*/ for (int i=0;i<N;i++) delete []A[i]; delete []A; A=NULL; for (int i=0;i<N;i++) delete []B[i]; delete []B; B=NULL; //} окончание цикла for getch(); return; } Единственное, что мне пришло в голову, это разобрать диагонали в строки, и упорядочить уже одномерные массивы, а после вставить обратно. В представленном мною коде как раз не работает алгоритм разбора диагоналей в линии, но не во всех случаях. 3 x 3 например работает. А 2 x 6 ошибка Unhandled exception at 0x00e7171e in sorting.exe: 0xC0000005: Access violation writing location 0xcdcdcdcd. Подскажите почему, и может есть костыли проще?
C++ Помогите пожалуйста написать программу для задачи: Создать класс Money для работы с денежными суммами. Число должно быть представлено двумя полями: типа long int для рублей и типа int – для копеек. Дробная часть (копейки) при выводе на экран должна быть отделена от целой части запятой. Реализовать сложение, вычитание, деление сумм, деление суммы на дробное число, умножение на дробное число и операция сравнения. На С++
Нужно на паскале найти все трехзначные числа,которые при увеличении на 1,делятся на два,при увеличении на два,делятся на три,при увеличении на три,делятся на 4,при увеличении на 4,делятся на 5
Нужно сделать на паскале: 1.составьте программу, которая строит из N знаков "*", M знаков "!". Числа N и M задаются с клавиатуры. 2.составьте программу, которая определяет сколько раз встречаются числа X, Y, X-Y, X+Y в последовательности из 50 заданных чисел. Данные задаются с клавиатуры в таком порядке X, Y и 50чисел последовательности. 3.Составьте программу, которая выводит ряд из n чисел вида 2,4,6,...,2n через запятую,где n задается с клавиатуры. Например: при n=5 ответ 2,4,6,8,10 Спасибо!
TASM 5 (предпочтительно) или С++ Язык TASM(предпочтительно) или С++ под Win Нужно написать утилитку, организующую вывод на печать текущей директории. нужен код, я даже не знаю с чего начать. Помогите пожалуйста. Кто сделает - перечислю небольшую денежку на кошелек.
Три задачи на Delphi.Циклический оператор. Помогите пожалуйста.нужно решить вот эти три задачи на Delphi.Циклический оператор.(Каждый пример с постусловием и с предусловием). Кто сделает, тому перечислю небольшую денежку на кошелек.
В общем у меня возникла небольшая проблема с учебой... От меня требуется написать программу на асеме. Суть программы: Консольное приложение Ввод через консоль Запрос числа a и b Сделать некоторые операции над этими числами, например add Вывод результата обратно в консоль Прошу вашей помощи...
Однонаправленный линейный список Добрый день нужна помощь в написании программы на с++. Надо создать однонаправленный линейный список при помощи 2 массивов. 1 массив содержит данные а второй указатели на эти данные. После надо реализовать 4 функции . 1. Вывод списка 2. Сортировка по возрастанию 3. добавление нового элемента после элемента совпадающего с вводимым с клавиатуры номером если таково номера нет то добавлять в начало. 4. добавление 3 элементов после 2 элемента в списке. Буду признателен за любую помощь сам на с++ тока учусь и с указателями встречаюсь редко.
Доброго времени суток ! Очень нужна помощь в написание программы в среде Delphi . Буду очень благодарен! Заранее Спасибо! Составить программу, в которой организованы следующие действия: сортировка массива слов по алфавиту; выборка из массива слов, начинающихся с гласных; выборка из массива слов, начинающихся с согласных. Эти действия оформлены в подпрограммах. Обеспечить пользователю возможность выбирать нужную ему подпрограмму через интерфейс управления.Составить программу, в которой организованы следующие действия: сортировка массива слов по алфавиту; выборка из массива слов, начинающихся с гласных; выборка из массива слов, начинающихся с согласных. Эти действия оформлены в подпрограммах. Обеспечить пользователю возможность выбирать нужную ему подпрограмму через интерфейс управления.
Дано натуральное k. Вывести k цифру последовательности (квадраты натуральных чисел) 149162536 ... помогите написать на dev с++
Задача на Паскале вывести на экран сумму элементов массива больше заданного числа код, который дали, но он не работает Code: program zadacha2; {amount} var A: array [1..100] of integer; i,n,mas,sum: integer; begin writeln ('Число элементов массива'); readln (n); writeln ('Введите массив:'); for i:=1 to n do readln (mas [i]); writeln('Введите число А:'); readln(a); sum:=0; for i:=1 to n do if mas [i]>a then sum:=sum+mas [i]; writeln ('Сумма элементов, больших числа',a,':',sum ); readln; end. с паскале только в шк писал, как с нуля ща смотрю) надо быстренько сделать, кто шарит - это 5 сек. спасибо)
program kapon; uses crt; var i,k,b:integer; a:array[1..10] of integer; Begin clrscr; for i:=1 to 10 do begin writeln('Zabey masiv'); readln(a); end; writeln('Vvedite kontrolnoe chislo'); readln(b); k:=0; for i:=1 to 10 do begin if (a>b) then k:=k+a; end; writeln(k); readln; End.
Лучше так: Code: uses crt; var i,k,b:integer; a:array[1..10] of integer; Begin clrscr; randomize; for i:=1 to 10 do a[i]:=random(40); writeln('Vvedite kontrolnoe chislo'); readln(b); k:=0; for i:=1 to 10 do begin if (a[i]>b) then k:=k+a[i]; end; writeln(k); End.
Без разницы. Тут смотря что от него требуют. Обычно к заданиям идут листы с проверками и учитель говорит какие числа забивать. Рандомно тоже можно в случае если нужно отладка программы и нет желания вбивать всё по сто раз.
IdeOne же, зайди по моей ссылке и увидешь данные, на которых прогу тестил я. И ничего не надо ни ставить, ни вбивать по 100 раз.
В этом примере ограничение массива до 100, а если ввести n больше 100, как число элементов массива, в итоге чего критическая ошибка.
Надо поменять местами переменные А и mas. Тогда mas будет массивом, а А будет числом, которое мы вводим.