Определение конфигурации компьютера программными средствами - C (СИ)

  1. Определить тип центрального процессора.C1 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 49 50 51 #include <stdio.h>     #include <conio.h>     #include <stdlib.h>     #include <memory.h>                         extern void GET_CPU_MODEL(void);     extern char VENDOR_ID_MSG[12];     extern char CPU_MODEL;     extern long CPU_SIGNATURE;     extern long FEATURES_ECX;     extern long FEATURES_EDX;     extern long FEATURES_EBX;         int main(void)     {               char buf[128];       printf("*CPU Information*, (C) A. Frolov, 1997\n\n");           GET_CPU_MODEL();             printf("CPU model: %d\n", (unsigned)CPU_MODEL);             if(CPU_MODEL >= 5)       {         memcpy(buf, VENDOR_ID_MSG, 12);         buf[12] = 0;         printf("Vendor ID: %s\n\n", buf);               printf("CPU Signature    %08.8X\n", CPU_SIGNATURE);         printf("CPU Feature EDX  %08.8X\n\n", FEATURES_EDX);                 printf("CPU type:     %d\n",           (CPU_SIGNATURE & 0x3000) >> 12);             printf("CPU family:   %d\n",           (CPU_SIGNATURE & 0xF00) >> 8);             printf("CPU model:    %d\n",           (CPU_SIGNATURE & 0xF0) >> 4);             printf("CPU stepping: %d\n\n", CPU_SIGNATURE & 0xF);                 if(FEATURES_EDX & 0x1)           printf("FPU detected\n");             if(FEATURES_EDX & 0x800000)           printf("MMX supported\n");       }           getch();       return 0;  


textual

Код:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <memory.h>


Похожие ответы
  1. помогите разобраться с этим заданием. Нужно дополнить код функциями, чтобы выполнялась задача: определение количества заданного символа в заданной строкеC1 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 49 50 51 52 53 54 55 56 57 58 59 #include #include   int how_many(char ch, char sentence[]) {     int count = 0;     int position;       // **********************************************************************             // **********************************************************************       return count; }     void clean_up(char ch) {     while (ch != EOF && ch != '\n')         ch = getchar(); }     int main() {     char ch;     char sentence[1024];       do {                 printf("Enter a character: ");                   ch = getchar();             clean_up(ch);                   if (ch < ' ' || ch > '~') {             printf("That was not a legal character. Try again.\n");         }         } while (ch < ' ' || ch > '~');           printf("Enter a sentence: ");           fgets(sentence, 1024, stdin);           printf("The character '%c' is in the sentence %d times.\n", ch, how_many(ch, sentence));       return 0; }

  1. Я пытаюсь разбить список на два, ну вы все можете увидеть сами:C1 2 3 4 5 6 7 8 9 10 head1 = head; p = head1;     i=1;     while (i<(n/2))  //4/2 == 2;  3/2 == 1,5 = 2;     {         p = p->next;         i++;     }     head2 = p->next;     p->next =     NULL;Вот только выводит у меня в случае нечетного кол-ва элементов первый список на 1 короче второго, а надо бы наоборот. Что не так здесь записано? Даже на бумажке проверил, что я упустил? Вывод списков у меня такого вида:C1 2 3 4 5 6 7 p = head1;     while (p!=NULL)  //такое произойдет, когда уже выведется последний элемент, и указатель упрется в грань     {         printf("->%.2f \n",p->content);         p = p->next;     }     printf("\n");Структура:C1 2 3 4 5 typedef struct list {     float         content;     struct list   *next; } list;Переменные:C1 2 3 4 5 6 int     n; int     i; short size_list = sizeof(list); list *head; list *head1; list *head2;

  1. Прошу натолкнуть на мысль как решить данную задачу: "Дана строка. Необходимо определить количество слов, которые слева и справа читаются одинаково (палиндромы). Слова разделены пробелами." Из условий для сдачи: доп. массивы - нельзя, функции из - нельзя. В моём представлении, нужно как-то разбить на лексемы без strtok и далее в лексемах сравнить символы с кодами ASCII? И можно ли, когда строку с помощью strtok разбил на лексемы и внёс их в массив указателей, далее каждый указатель на строку(полученную лексему) внести в новый массив, чтоб в массиве строка была посимвольно сохранена? Пример: была строка "Скоро сдача работы" -> далее стал массив из 4 указателей -> затем первый указатель, ктр косвенно адресует строку "Скоро", как-то внести в новый массив посимвольно. Заранее спасибо. 1 курс заочки, могу изъясняться как колхоз, т.к. до этого программирование ассоциировалось с тетрисом.

  1. Приветствую уважаемые программисты! Я только начал изучать СИ, с нуля. Мне нужно написать следующую программу: Ввод = все что угодно. Вывод = "Вы ввели ... , это - (целое число, символ, массив, с плавающей запятой и т.д.)" Как это вообще возможно сделать, если в операторе объявления переменной я обязан указать ее тип? Более того я догадываюсь, что есть несколько способов решить данную задачу. подскажите что - нибудь? З.Ы. Приношу извинения, если вопрос уже поднимался. Я вроде не нашел ответа, но вдруг он уже где-то был...

  1. На страницах форума нашел программу на паскале, мне нужна помощь в ее переводе на язык С. Программа должна считывать введенный день , а выводить следующий, учитывая високосные года. Еще должна выводить что это за день недели.(временные сроки программы : 1940-2040 года)

  1. Здравствуйте. Я перешёл на MVS 2015 и при открытии проекта у меня выдаёт следующие ошибки: Скрин - Код Ошибка C2371 int32_t: переопределение; различные базовые типы Ошибка C2371 uint32_t: переопределение; различные базовые типы Строки:C1 2 typedef int                int32_t; typedef unsigned int       uint32_t; Если же я попытаюсь изменить "stdint.h", то: Код Ошибка при попытке разрешить изменение файла stdint.h. Как мне быть?

  1. Написать следующие функции в двух вариантах: с использованием индексов и указателей. В строке string1 определяет последнее вхождение в нее строки string2. Возвращает указатель на начало вхождения. В случае неуспеха возвращается -1. const char* rat(const char* string1, const char* string2) Функции типа strstr использовать НЕЛЬЗЯ! С комментариями, пожалуйста!

  1. Дан одномерный массив. Определить минимальное счастливое число среди чисел с четным количеством цифр. Счастливое число - это число, у которого сумма цифр первой половины числа равна сумме второй половины.

  1. 1. Дано натуральне число N і одновимірний масив A1, A2, …, AN цілих чисел. Визначити найбільше й найменше значення, отримані значення розглядати як кінці відрізка. Розбити відрізок на 5 діапазонів значень по зростанню й підрахувати частоту влучень елементів масиву в кожній із цих діапазонів. Дано натуральное число N иодномерный массив A1, A2, …, AN целых чисел. Найти найибольшее и наименьшее значение и рассматривать их как концы отрезка. Разбить отрезок на 5 диапазонов значений по возрастанию и подсчитать частоту попаданий элементов массива в каждый из этих диапазонов. C1 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     #include #include int N,i,j=0;   int main() { system("chcp 1251"); printf("Введите число N: "); scanf("%d",&N); int mas[N+1]; for (i=1;i<=N;i++) { printf("Введите элемент массива A%d: ",i); scanf("%d",&mas[i]); } int k[N]; for (i=1;i<=N;i++) { if(mas[i+1]>mas[i]) { k[i]=mas[i]; } if(mas[i+1]=1;i--) { if (mas[i]>mas[i-1]&&j

  1. Напишите программу для определения диапазонов переменных типов char, short, int и long (как signed, так и unsigned) путем вывода соответствующих значений из заголовочных файлов, а также с помощью непосредственного вычисления. Для второго способа усложним задачу: определите еще и диапазоны вещественных чисел Вроде до этого все читал внимательно, задание понимаю, как реализовать - не знаю. С только начал изучать